arm_compute v17.12
diff --git a/documentation/namespacearm__compute.xhtml b/documentation/namespacearm__compute.xhtml
index 55ead9b..34026f1 100644
--- a/documentation/namespacearm__compute.xhtml
+++ b/documentation/namespacearm__compute.xhtml
@@ -4,7 +4,7 @@
<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.6"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
<title>Compute Library: arm_compute Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -12,22 +12,24 @@
<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);
$(window).load(resizeHeight);
</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/javascript">
- $(document).ready(function() { searchBox.OnSelectItem(0); });
+ $(document).ready(function() { init_search(); });
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
-</script><script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
+</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
@@ -38,7 +40,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">Compute Library
-  <span id="projectnumber">17.10</span>
+  <span id="projectnumber">17.12</span>
</div>
</td>
</tr>
@@ -46,7 +48,7 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
+<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@@ -101,7 +103,7 @@
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Pages</a></div>
+</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
@@ -122,1503 +124,1794 @@
<div class="title">arm_compute Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
+
+<p>This file contains all available output stages for GEMMLowp on OpenCL.
+<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
-<tr class="memitem:namespacearm__compute_1_1detail"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1detail.xhtml">detail</a></td></tr>
+<tr class="memitem:namespacearm__compute_1_1detail"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1detail.xhtml">detail</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:namespacearm__compute_1_1graph"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph.xhtml">graph</a></td></tr>
+<tr class="memitem:namespacearm__compute_1_1gles"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1gles.xhtml">gles</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:namespacearm__compute_1_1graph__utils"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph__utils.xhtml">graph_utils</a></td></tr>
+<tr class="memitem:namespacearm__compute_1_1graph"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph.xhtml">graph</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:namespacearm__compute_1_1support"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1support.xhtml">support</a></td></tr>
+<tr class="memitem:namespacearm__compute_1_1graph__utils"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph__utils.xhtml">graph_utils</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:namespacearm__compute_1_1test"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test.xhtml">test</a></td></tr>
+<tr class="memitem:namespacearm__compute_1_1io"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1io.xhtml">io</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:namespacearm__compute_1_1traits"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1traits.xhtml">traits</a></td></tr>
+<tr class="memitem:namespacearm__compute_1_1logging"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1logging.xhtml">logging</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:namespacearm__compute_1_1utils"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1utils.xhtml">utils</a></td></tr>
+<tr class="memitem:namespacearm__compute_1_1misc"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1misc.xhtml">misc</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:namespacearm__compute_1_1quantization"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1quantization.xhtml">quantization</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:namespacearm__compute_1_1support"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1support.xhtml">support</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:namespacearm__compute_1_1test"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1test.xhtml">test</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:namespacearm__compute_1_1traits"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1traits.xhtml">traits</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:namespacearm__compute_1_1utility"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1utility.xhtml">utility</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:namespacearm__compute_1_1utils"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1utils.xhtml">utils</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_auto_padding.xhtml">AccessWindowAutoPadding</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Dummy access window. <a href="classarm__compute_1_1_access_window_auto_padding.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Dummy access window. <a href="classarm__compute_1_1_access_window_auto_padding.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_horizontal.xhtml">AccessWindowHorizontal</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Implementation of a row access pattern. <a href="classarm__compute_1_1_access_window_horizontal.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_rectangle.xhtml">AccessWindowRectangle</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Implementation of a rectangular access pattern. <a href="classarm__compute_1_1_access_window_rectangle.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_static.xhtml">AccessWindowStatic</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Implementation of a static rectangular access pattern. <a href="classarm__compute_1_1_access_window_static.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Implementation of a static rectangular access pattern. <a href="classarm__compute_1_1_access_window_static.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_transpose.xhtml">AccessWindowTranspose</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Implementation of a XY-transpose access pattern. <a href="classarm__compute_1_1_access_window_transpose.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Implementation of a XY-transpose access pattern. <a href="classarm__compute_1_1_access_window_transpose.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1enable__bitwise__ops_3_01arm__compute_1_1_g_p_u_target_01_4.xhtml">enable_bitwise_ops< arm_compute::GPUTarget ></a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Enable operation operations on GPUTarget enumerations. <a href="structarm__compute_1_1enable__bitwise__ops_3_01arm__compute_1_1_g_p_u_target_01_4.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_vertical.xhtml">AccessWindowVertical</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Implementation of a column access pattern. <a href="classarm__compute_1_1_access_window_vertical.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_program.xhtml">Program</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_program.xhtml" title="Program class. ">Program</a> class. <a href="classarm__compute_1_1_program.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml">ActivationLayerInfo</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Activation Layer Information class. <a href="classarm__compute_1_1_activation_layer_info.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_kernel.xhtml">Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> class. <a href="classarm__compute_1_1_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_allocator.xhtml">Allocator</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Default malloc allocator implementation. <a href="classarm__compute_1_1_allocator.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_kernel_library.xhtml">CLKernelLibrary</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_c_l_kernel_library.xhtml" title="CLKernelLibrary class. ">CLKernelLibrary</a> class. <a href="classarm__compute_1_1_c_l_kernel_library.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_array.xhtml">Array</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the <a class="el" href="classarm__compute_1_1_i_array.xhtml" title="Array of type T. ">IArray</a> interface which allocates a static number of T values. <a href="classarm__compute_1_1_array.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for OpenCL <a class="el" href="classarm__compute_1_1_array.xhtml" title="Basic implementation of the IArray interface which allocates a static number of T values...">Array</a>. <a href="classarm__compute_1_1_i_c_l_array.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_blob_lifetime_manager.xhtml">BlobLifetimeManager</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Concrete class that tracks the lifetime of registered tensors and calculates the systems memory requirements in terms of blobs. <a href="classarm__compute_1_1_blob_lifetime_manager.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml">ICLDistribution1D</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml" title="ICLDistribution1D interface class. ">ICLDistribution1D</a> interface class. <a href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_blob_memory_pool.xhtml">BlobMemoryPool</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Blob memory pool. <a href="classarm__compute_1_1_blob_memory_pool.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_h_o_g.xhtml">ICLHOG</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for OpenCL <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-object. <a href="classarm__compute_1_1_i_c_l_h_o_g.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Container for 2D border size. <a href="structarm__compute_1_1_border_size.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_kernel.xhtml">ICLKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Common interface for all the OpenCL kernels. <a href="classarm__compute_1_1_i_c_l_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_lut.xhtml">ICLLut</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for OpenCL LUT. <a href="classarm__compute_1_1_i_c_l_lut.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_multi_h_o_g.xhtml">ICLMultiHOG</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for storing multiple <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-objects. <a href="classarm__compute_1_1_i_c_l_multi_h_o_g.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_multi_image.xhtml">ICLMultiImage</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for OpenCL multi-planar images. <a href="classarm__compute_1_1_i_c_l_multi_image.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple2_d_kernel.xhtml">ICLSimple2DKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for simple OpenCL kernels having 1 tensor input and 1 tensor output. <a href="classarm__compute_1_1_i_c_l_simple2_d_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple3_d_kernel.xhtml">ICLSimple3DKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for simple OpenCL kernels having 1 tensor input and 1 tensor output. <a href="classarm__compute_1_1_i_c_l_simple3_d_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple_kernel.xhtml">ICLSimpleKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for simple OpenCL kernels having 1 tensor input and 1 tensor output. <a href="classarm__compute_1_1_i_c_l_simple_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml">ICLTensor</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for OpenCL tensor. <a href="classarm__compute_1_1_i_c_l_tensor.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_absolute_difference.xhtml">CLAbsoluteDifference</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_absolute_difference_kernel.xhtml">CLAbsoluteDifferenceKernel</a>. <a href="classarm__compute_1_1_c_l_absolute_difference.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_absolute_difference_kernel.xhtml">CLAbsoluteDifferenceKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the absolute difference kernel. <a href="classarm__compute_1_1_c_l_absolute_difference_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the absolute difference kernel. <a href="classarm__compute_1_1_c_l_absolute_difference_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate.xhtml">CLAccumulate</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_accumulate_kernel.xhtml">CLAccumulateKernel</a>. <a href="classarm__compute_1_1_c_l_accumulate.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_kernel.xhtml">CLAccumulateKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the accumulate kernel. <a href="classarm__compute_1_1_c_l_accumulate_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the accumulate kernel. <a href="classarm__compute_1_1_c_l_accumulate_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_weighted_kernel.xhtml">CLAccumulateWeightedKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the accumulate weighted kernel. <a href="classarm__compute_1_1_c_l_accumulate_weighted_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_squared.xhtml">CLAccumulateSquared</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_accumulate_squared_kernel.xhtml">CLAccumulateSquaredKernel</a>. <a href="classarm__compute_1_1_c_l_accumulate_squared.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_squared_kernel.xhtml">CLAccumulateSquaredKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the accumulate squared kernel. <a href="classarm__compute_1_1_c_l_accumulate_squared_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the accumulate squared kernel. <a href="classarm__compute_1_1_c_l_accumulate_squared_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_weighted.xhtml">CLAccumulateWeighted</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_accumulate_weighted_kernel.xhtml">CLAccumulateWeightedKernel</a>. <a href="classarm__compute_1_1_c_l_accumulate_weighted.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_weighted_kernel.xhtml">CLAccumulateWeightedKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the accumulate weighted kernel. <a href="classarm__compute_1_1_c_l_accumulate_weighted_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_activation_layer.xhtml">CLActivationLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_activation_layer_kernel.xhtml">CLActivationLayerKernel</a>. <a href="classarm__compute_1_1_c_l_activation_layer.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_activation_layer_kernel.xhtml">CLActivationLayerKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the activation layer kernel. <a href="classarm__compute_1_1_c_l_activation_layer_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the activation layer kernel. <a href="classarm__compute_1_1_c_l_activation_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_addition.xhtml">CLArithmeticAddition</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_arithmetic_addition_kernel.xhtml">CLArithmeticAdditionKernel</a>. <a href="classarm__compute_1_1_c_l_arithmetic_addition.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_addition_kernel.xhtml">CLArithmeticAdditionKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the arithmetic addition kernel. <a href="classarm__compute_1_1_c_l_arithmetic_addition_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the arithmetic addition kernel. <a href="classarm__compute_1_1_c_l_arithmetic_addition_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_subtraction.xhtml">CLArithmeticSubtraction</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_arithmetic_subtraction_kernel.xhtml">CLArithmeticSubtractionKernel</a>. <a href="classarm__compute_1_1_c_l_arithmetic_subtraction.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_subtraction_kernel.xhtml">CLArithmeticSubtractionKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the arithmetic subtraction kernel. <a href="classarm__compute_1_1_c_l_arithmetic_subtraction_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the arithmetic subtraction kernel. <a href="classarm__compute_1_1_c_l_arithmetic_subtraction_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_c_l_array.xhtml" title="CLArray implementation. ">CLArray</a> implementation. <a href="classarm__compute_1_1_c_l_array.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_batch_normalization_layer.xhtml">CLBatchNormalizationLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_normalization_layer_kernel.xhtml">CLNormalizationLayerKernel</a> and simulate a batch normalization layer. <a href="classarm__compute_1_1_c_l_batch_normalization_layer.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_batch_normalization_layer_kernel.xhtml">CLBatchNormalizationLayerKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the BatchNormalization layer kernel. <a href="classarm__compute_1_1_c_l_batch_normalization_layer_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the BatchNormalization layer kernel. <a href="classarm__compute_1_1_c_l_batch_normalization_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_and.xhtml">CLBitwiseAnd</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_bitwise_and_kernel.xhtml">CLBitwiseAndKernel</a>. <a href="classarm__compute_1_1_c_l_bitwise_and.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_and_kernel.xhtml">CLBitwiseAndKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the bitwise AND operation kernel. <a href="classarm__compute_1_1_c_l_bitwise_and_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the bitwise AND operation kernel. <a href="classarm__compute_1_1_c_l_bitwise_and_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_not.xhtml">CLBitwiseNot</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_bitwise_not_kernel.xhtml">CLBitwiseNotKernel</a>. <a href="classarm__compute_1_1_c_l_bitwise_not.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_not_kernel.xhtml">CLBitwiseNotKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the bitwise NOT operation kernel. <a href="classarm__compute_1_1_c_l_bitwise_not_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the bitwise NOT operation kernel. <a href="classarm__compute_1_1_c_l_bitwise_not_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_or.xhtml">CLBitwiseOr</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_bitwise_or_kernel.xhtml">CLBitwiseOrKernel</a>. <a href="classarm__compute_1_1_c_l_bitwise_or.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_or_kernel.xhtml">CLBitwiseOrKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the bitwise OR operation kernel. <a href="classarm__compute_1_1_c_l_bitwise_or_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the bitwise OR operation kernel. <a href="classarm__compute_1_1_c_l_bitwise_or_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_xor.xhtml">CLBitwiseXor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_bitwise_xor_kernel.xhtml">CLBitwiseXorKernel</a>. <a href="classarm__compute_1_1_c_l_bitwise_xor.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_xor_kernel.xhtml">CLBitwiseXorKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the bitwise XOR operation kernel. <a href="classarm__compute_1_1_c_l_bitwise_xor_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the bitwise XOR operation kernel. <a href="classarm__compute_1_1_c_l_bitwise_xor_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_box3x3.xhtml">CLBox3x3</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute box filter 3x3. <a href="classarm__compute_1_1_c_l_box3x3.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_box3x3_kernel.xhtml">CLBox3x3Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the box 3x3 filter kernel. <a href="classarm__compute_1_1_c_l_box3x3_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the box 3x3 filter kernel. <a href="classarm__compute_1_1_c_l_box3x3_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gradient_kernel.xhtml">CLGradientKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform Gradient computation. <a href="classarm__compute_1_1_c_l_gradient_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_buffer_allocator.xhtml">CLBufferAllocator</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Default OpenCL cl buffer allocator implementation. <a href="classarm__compute_1_1_c_l_buffer_allocator.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_edge_non_max_suppression_kernel.xhtml">CLEdgeNonMaxSuppressionKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform Non-Maxima suppression for Canny Edge. <a href="classarm__compute_1_1_c_l_edge_non_max_suppression_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_build_options.xhtml">CLBuildOptions</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Build options. <a href="classarm__compute_1_1_c_l_build_options.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_edge_trace_kernel.xhtml">CLEdgeTraceKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform Edge tracing. <a href="classarm__compute_1_1_c_l_edge_trace_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_canny_edge.xhtml">CLCannyEdge</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute canny edge on OpenCL. <a href="classarm__compute_1_1_c_l_canny_edge.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_channel_combine.xhtml">CLChannelCombine</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_channel_combine_kernel.xhtml">CLChannelCombineKernel</a> to perform channel combination. <a href="classarm__compute_1_1_c_l_channel_combine.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_channel_combine_kernel.xhtml">CLChannelCombineKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the channel combine kernel. <a href="classarm__compute_1_1_c_l_channel_combine_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the channel combine kernel. <a href="classarm__compute_1_1_c_l_channel_combine_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_channel_extract.xhtml">CLChannelExtract</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_channel_extract_kernel.xhtml">CLChannelExtractKernel</a> to perform channel extraction. <a href="classarm__compute_1_1_c_l_channel_extract.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_channel_extract_kernel.xhtml">CLChannelExtractKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the channel extract kernel. <a href="classarm__compute_1_1_c_l_channel_extract_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_col2_im_kernel.xhtml">CLCol2ImKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the col2im reshaping kernel. <a href="classarm__compute_1_1_c_l_col2_im_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_color_convert_kernel.xhtml">CLColorConvertKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the color convert kernel. <a href="classarm__compute_1_1_c_l_color_convert_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run an arbitrary size convolution on a tensor. <a href="classarm__compute_1_1_c_l_convolution_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml">CLSeparableConvolutionHorKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the Horizontal pass of a Separable Convolution. <a href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml">CLSeparableConvolutionVertKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the Vertical pass of a Separable Convolution. <a href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_rectangle_kernel.xhtml">CLConvolutionRectangleKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the running convolution on a rectangle matrix. <a href="classarm__compute_1_1_c_l_convolution_rectangle_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depth_concatenate_kernel.xhtml">CLDepthConcatenateKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the depth concatenate kernel. <a href="classarm__compute_1_1_c_l_depth_concatenate_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depth_convert_kernel.xhtml">CLDepthConvertKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the depth conversion kernel. <a href="classarm__compute_1_1_c_l_depth_convert_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_convolution3x3_kernel.xhtml">CLDepthwiseConvolution3x3Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run a 3x3 depthwise convolution on a tensor. <a href="classarm__compute_1_1_c_l_depthwise_convolution3x3_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_im2_col_kernel.xhtml">CLDepthwiseIm2ColKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the depthwise im2col reshape kernel. <a href="classarm__compute_1_1_c_l_depthwise_im2_col_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_vector_to_tensor_kernel.xhtml">CLDepthwiseVectorToTensorKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the depthwise vector to tensor kernel. <a href="classarm__compute_1_1_c_l_depthwise_vector_to_tensor_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_weights_reshape_kernel.xhtml">CLDepthwiseWeightsReshapeKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the depthwise weights reshape kernel. <a href="classarm__compute_1_1_c_l_depthwise_weights_reshape_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_dequantization_layer_kernel.xhtml">CLDequantizationLayerKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the dequantization layer kernel. <a href="classarm__compute_1_1_c_l_dequantization_layer_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_derivative_kernel.xhtml">CLDerivativeKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the derivative kernel. <a href="classarm__compute_1_1_c_l_derivative_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_dilate_kernel.xhtml">CLDilateKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the dilate kernel. <a href="classarm__compute_1_1_c_l_dilate_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_direct_convolution_layer_kernel.xhtml">CLDirectConvolutionLayerKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the direct convolution kernel. <a href="classarm__compute_1_1_c_l_direct_convolution_layer_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_erode_kernel.xhtml">CLErodeKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the erode kernel. <a href="classarm__compute_1_1_c_l_erode_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fast_corners_kernel.xhtml">CLFastCornersKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CL kernel to perform fast corners. <a href="classarm__compute_1_1_c_l_fast_corners_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_copy_to_array_kernel.xhtml">CLCopyToArrayKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CL kernel to copy keypoints information to ICLKeyPointArray and counts the number of key points. <a href="classarm__compute_1_1_c_l_copy_to_array_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fill_border_kernel.xhtml">CLFillBorderKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for filling the border of a kernel. <a href="classarm__compute_1_1_c_l_fill_border_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_floor_kernel.xhtml">CLFloorKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform a floor operation. <a href="classarm__compute_1_1_c_l_floor_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian3x3_kernel.xhtml">CLGaussian3x3Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the Gaussian 3x3 filter kernel. <a href="classarm__compute_1_1_c_l_gaussian3x3_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian5x5_hor_kernel.xhtml">CLGaussian5x5HorKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the horizontal pass of 5x5 Gaussian filter on a tensor. <a href="classarm__compute_1_1_c_l_gaussian5x5_hor_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian5x5_vert_kernel.xhtml">CLGaussian5x5VertKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the vertical pass of 5x5 Gaussian filter on a tensor. <a href="classarm__compute_1_1_c_l_gaussian5x5_vert_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_hor_kernel.xhtml">CLGaussianPyramidHorKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform a Gaussian filter and half scaling across width (horizontal pass) <a href="classarm__compute_1_1_c_l_gaussian_pyramid_hor_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_vert_kernel.xhtml">CLGaussianPyramidVertKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform a Gaussian filter and half scaling across height (vertical pass) <a href="classarm__compute_1_1_c_l_gaussian_pyramid_vert_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4_kernel.xhtml">CLGEMMInterleave4x4Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel which interleaves the elements of a matrix A in chunk of 4x4. <a href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_multiply_kernel.xhtml">CLGEMMLowpMatrixMultiplyKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to compute low precision matrix multiplication kernel. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_multiply_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_accumulate_biases_kernel.xhtml">CLGEMMMatrixAccumulateBiasesKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to add a bias to each row of the input tensor. <a href="classarm__compute_1_1_c_l_g_e_m_m_matrix_accumulate_biases_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_addition_kernel.xhtml">CLGEMMMatrixAdditionKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform the in-place matrix addition between 2 matrices, taking into account that the second matrix might be weighted by a scalar value beta. <a href="classarm__compute_1_1_c_l_g_e_m_m_matrix_addition_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_multiply_kernel.xhtml">CLGEMMMatrixMultiplyKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to multiply two input matrices "A" and "B" . <a href="classarm__compute_1_1_c_l_g_e_m_m_matrix_multiply_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_vector_multiply_kernel.xhtml">CLGEMMMatrixVectorMultiplyKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the GEMM matrix vector multiply kernel. <a href="classarm__compute_1_1_c_l_g_e_m_m_matrix_vector_multiply_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w_kernel.xhtml">CLGEMMTranspose1xWKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel which transposes the elements of a matrix in chunks of 1xW, where W is equal to (16 / element size of the tensor) <a href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_harris_score_kernel.xhtml">CLHarrisScoreKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the harris score kernel. <a href="classarm__compute_1_1_c_l_harris_score_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_histogram_kernel.xhtml">CLHistogramKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to run the histogram kernel. <a href="classarm__compute_1_1_c_l_histogram_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_histogram_border_kernel.xhtml">CLHistogramBorderKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to run the histogram kernel to handle the leftover part of image. <a href="classarm__compute_1_1_c_l_histogram_border_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_orientation_binning_kernel.xhtml">CLHOGOrientationBinningKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> Orientation Binning. <a href="classarm__compute_1_1_c_l_h_o_g_orientation_binning_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_block_normalization_kernel.xhtml">CLHOGBlockNormalizationKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> block normalization. <a href="classarm__compute_1_1_c_l_h_o_g_block_normalization_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_detector_kernel.xhtml">CLHOGDetectorKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> detector kernel using linear SVM. <a href="classarm__compute_1_1_c_l_h_o_g_detector_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_im2_col_kernel.xhtml">CLIm2ColKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the im2col reshape kernel. <a href="classarm__compute_1_1_c_l_im2_col_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_integral_image_hor_kernel.xhtml">CLIntegralImageHorKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to run the horizontal pass of the integral image kernel. <a href="classarm__compute_1_1_c_l_integral_image_hor_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_integral_image_vert_kernel.xhtml">CLIntegralImageVertKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to run the vertical pass of the integral image kernel. <a href="classarm__compute_1_1_c_l_integral_image_vert_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l2_normalize_kernel.xhtml">CLL2NormalizeKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the reduction operation kernel. <a href="classarm__compute_1_1_c_l_l2_normalize_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_c_l_l_k_internal_keypoint.xhtml">CLLKInternalKeypoint</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Internal keypoint structure for Lucas-Kanade Optical Flow. <a href="structarm__compute_1_1_c_l_l_k_internal_keypoint.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the channel extract kernel. <a href="classarm__compute_1_1_c_l_channel_extract_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_c_l_coefficient_table.xhtml">CLCoefficientTable</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Structure for storing Spatial Gradient Matrix and the minimum eigenvalue for each keypoint. <a href="structarm__compute_1_1_c_l_coefficient_table.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Structure for storing Spatial Gradient Matrix and the minimum eigenvalue for each keypoint. <a href="structarm__compute_1_1_c_l_coefficient_table.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_c_l_old_value.xhtml">CLOldValue</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Structure for storing ival, ixval and iyval for each point inside the window. <a href="structarm__compute_1_1_c_l_old_value.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_col2_im_kernel.xhtml">CLCol2ImKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the col2im reshaping kernel. <a href="classarm__compute_1_1_c_l_col2_im_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l_k_tracker_init_kernel.xhtml">CLLKTrackerInitKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to run the initialization step of LKTracker. <a href="classarm__compute_1_1_c_l_l_k_tracker_init_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_color_convert.xhtml">CLColorConvert</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_color_convert_kernel.xhtml">CLColorConvertKernel</a>. <a href="classarm__compute_1_1_c_l_color_convert.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_color_convert_kernel.xhtml">CLColorConvertKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the color convert kernel. <a href="classarm__compute_1_1_c_l_color_convert_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution3x3.xhtml">CLConvolution3x3</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute convolution of size 3x3. <a href="classarm__compute_1_1_c_l_convolution3x3.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run an arbitrary size convolution on a tensor. <a href="classarm__compute_1_1_c_l_convolution_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_layer.xhtml">CLConvolutionLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute the convolution layer. <a href="classarm__compute_1_1_c_l_convolution_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_layer_reshape_weights.xhtml">CLConvolutionLayerReshapeWeights</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Function to reshape and transpose the weights. <a href="classarm__compute_1_1_c_l_convolution_layer_reshape_weights.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_rectangle.xhtml">CLConvolutionRectangle</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute non-square convolution. <a href="classarm__compute_1_1_c_l_convolution_rectangle.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_rectangle_kernel.xhtml">CLConvolutionRectangleKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the running convolution on a rectangle matrix. <a href="classarm__compute_1_1_c_l_convolution_rectangle_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_square.xhtml">CLConvolutionSquare</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute square convolution.Currently it supports 5x5, 7x7, 9x9. <a href="classarm__compute_1_1_c_l_convolution_square.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_copy_to_array_kernel.xhtml">CLCopyToArrayKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CL kernel to copy keypoints information to ICLKeyPointArray and counts the number of key points. <a href="classarm__compute_1_1_c_l_copy_to_array_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depth_concatenate_layer.xhtml">CLDepthConcatenateLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute concatenate tensors along z axis. <a href="classarm__compute_1_1_c_l_depth_concatenate_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depth_concatenate_layer_kernel.xhtml">CLDepthConcatenateLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the depth concatenate kernel. <a href="classarm__compute_1_1_c_l_depth_concatenate_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depth_convert_layer.xhtml">CLDepthConvertLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_depth_convert_layer_kernel.xhtml">CLDepthConvertLayerKernel</a>. <a href="classarm__compute_1_1_c_l_depth_convert_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depth_convert_layer_kernel.xhtml">CLDepthConvertLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the depth conversion kernel. <a href="classarm__compute_1_1_c_l_depth_convert_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_convolution_layer.xhtml">CLDepthwiseConvolutionLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute a generic depthwise convolution. <a href="classarm__compute_1_1_c_l_depthwise_convolution_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_convolution_layer3x3.xhtml">CLDepthwiseConvolutionLayer3x3</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute a depthwise convolution for kernel size 3x3xC. <a href="classarm__compute_1_1_c_l_depthwise_convolution_layer3x3.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_convolution_layer3x3_kernel.xhtml">CLDepthwiseConvolutionLayer3x3Kernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run a 3x3 depthwise convolution on a tensor. <a href="classarm__compute_1_1_c_l_depthwise_convolution_layer3x3_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_im2_col_kernel.xhtml">CLDepthwiseIm2ColKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the depthwise im2col reshape kernel. <a href="classarm__compute_1_1_c_l_depthwise_im2_col_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_separable_convolution_layer.xhtml">CLDepthwiseSeparableConvolutionLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute depthwise convolution. <a href="classarm__compute_1_1_c_l_depthwise_separable_convolution_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_vector_to_tensor_kernel.xhtml">CLDepthwiseVectorToTensorKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the depthwise vector to tensor kernel. <a href="classarm__compute_1_1_c_l_depthwise_vector_to_tensor_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_weights_reshape_kernel.xhtml">CLDepthwiseWeightsReshapeKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the depthwise weights reshape kernel. <a href="classarm__compute_1_1_c_l_depthwise_weights_reshape_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_dequantization_layer.xhtml">CLDequantizationLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to simulate a dequantization layer. <a href="classarm__compute_1_1_c_l_dequantization_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_dequantization_layer_kernel.xhtml">CLDequantizationLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the dequantization layer kernel. <a href="classarm__compute_1_1_c_l_dequantization_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_derivative.xhtml">CLDerivative</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute first order derivative operator. <a href="classarm__compute_1_1_c_l_derivative.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_derivative_kernel.xhtml">CLDerivativeKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the derivative kernel. <a href="classarm__compute_1_1_c_l_derivative_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_dilate.xhtml">CLDilate</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute dilate. <a href="classarm__compute_1_1_c_l_dilate.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_dilate_kernel.xhtml">CLDilateKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the dilate kernel. <a href="classarm__compute_1_1_c_l_dilate_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_direct_convolution_layer.xhtml">CLDirectConvolutionLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute direct convolution function: <a href="classarm__compute_1_1_c_l_direct_convolution_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_direct_convolution_layer_kernel.xhtml">CLDirectConvolutionLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the direct convolution kernel. <a href="classarm__compute_1_1_c_l_direct_convolution_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_distribution1_d.xhtml">CLDistribution1D</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_c_l_distribution1_d.xhtml" title="CLDistribution1D object class. ">CLDistribution1D</a> object class. <a href="classarm__compute_1_1_c_l_distribution1_d.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_edge_non_max_suppression_kernel.xhtml">CLEdgeNonMaxSuppressionKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform Non-Maxima suppression for Canny Edge. <a href="classarm__compute_1_1_c_l_edge_non_max_suppression_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_edge_trace_kernel.xhtml">CLEdgeTraceKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform Edge tracing. <a href="classarm__compute_1_1_c_l_edge_trace_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_equalize_histogram.xhtml">CLEqualizeHistogram</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute histogram equalization. <a href="classarm__compute_1_1_c_l_equalize_histogram.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_erode.xhtml">CLErode</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute erode. <a href="classarm__compute_1_1_c_l_erode.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_erode_kernel.xhtml">CLErodeKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the erode kernel. <a href="classarm__compute_1_1_c_l_erode_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fast_corners.xhtml">CLFastCorners</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute fast corners. <a href="classarm__compute_1_1_c_l_fast_corners.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fast_corners_kernel.xhtml">CLFastCornersKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CL kernel to perform fast corners. <a href="classarm__compute_1_1_c_l_fast_corners_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fill_border.xhtml">CLFillBorder</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_fill_border_kernel.xhtml">CLFillBorderKernel</a>. <a href="classarm__compute_1_1_c_l_fill_border.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fill_border_kernel.xhtml">CLFillBorderKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for filling the border of a kernel. <a href="classarm__compute_1_1_c_l_fill_border_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_flatten_layer.xhtml">CLFlattenLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute flatten. <a href="classarm__compute_1_1_c_l_flatten_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_floor.xhtml">CLFloor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_floor_kernel.xhtml">CLFloorKernel</a>. <a href="classarm__compute_1_1_c_l_floor.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_floor_kernel.xhtml">CLFloorKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform a floor operation. <a href="classarm__compute_1_1_c_l_floor_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fully_connected_layer.xhtml">CLFullyConnectedLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute a Fully Connected layer on OpenCL. <a href="classarm__compute_1_1_c_l_fully_connected_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fully_connected_layer_reshape_weights.xhtml">CLFullyConnectedLayerReshapeWeights</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to reshape the weights of Fully Connected layer with OpenCL. <a href="classarm__compute_1_1_c_l_fully_connected_layer_reshape_weights.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian3x3.xhtml">CLGaussian3x3</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute gaussian filter 3x3. <a href="classarm__compute_1_1_c_l_gaussian3x3.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian3x3_kernel.xhtml">CLGaussian3x3Kernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the Gaussian 3x3 filter kernel. <a href="classarm__compute_1_1_c_l_gaussian3x3_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian5x5.xhtml">CLGaussian5x5</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute gaussian filter 5x5. <a href="classarm__compute_1_1_c_l_gaussian5x5.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian5x5_hor_kernel.xhtml">CLGaussian5x5HorKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the horizontal pass of 5x5 Gaussian filter on a tensor. <a href="classarm__compute_1_1_c_l_gaussian5x5_hor_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian5x5_vert_kernel.xhtml">CLGaussian5x5VertKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the vertical pass of 5x5 Gaussian filter on a tensor. <a href="classarm__compute_1_1_c_l_gaussian5x5_vert_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid.xhtml">CLGaussianPyramid</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Common interface for all Gaussian pyramid functions. <a href="classarm__compute_1_1_c_l_gaussian_pyramid.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_half.xhtml">CLGaussianPyramidHalf</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute gaussian pyramid with HALF scale factor. <a href="classarm__compute_1_1_c_l_gaussian_pyramid_half.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_hor_kernel.xhtml">CLGaussianPyramidHorKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform a Gaussian filter and half scaling across width (horizontal pass) <a href="classarm__compute_1_1_c_l_gaussian_pyramid_hor_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_orb.xhtml">CLGaussianPyramidOrb</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute gaussian pyramid with ORB scale factor. <a href="classarm__compute_1_1_c_l_gaussian_pyramid_orb.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_vert_kernel.xhtml">CLGaussianPyramidVertKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform a Gaussian filter and half scaling across height (vertical pass) <a href="classarm__compute_1_1_c_l_gaussian_pyramid_vert_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m.xhtml">CLGEMM</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute GEMM on OpenCL. <a href="classarm__compute_1_1_c_l_g_e_m_m.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4.xhtml">CLGEMMInterleave4x4</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4_kernel.xhtml" title="OpenCL kernel which interleaves the elements of a matrix A in chunk of 4x4. ">CLGEMMInterleave4x4Kernel</a>. <a href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4_kernel.xhtml">CLGEMMInterleave4x4Kernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel which interleaves the elements of a matrix A in chunk of 4x4. <a href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_a_reduction_kernel.xhtml">CLGEMMLowpMatrixAReductionKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel used to compute the row-vectors of sums of all the entries in each row of Matrix A. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_a_reduction_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_b_reduction_kernel.xhtml">CLGEMMLowpMatrixBReductionKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel used to compute the row-vectors of sums of all the entries in each column of Matrix B. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_b_reduction_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_multiply_core.xhtml">CLGEMMLowpMatrixMultiplyCore</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute GEMMLowpMatrixMultiplyCore on OpenCL. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_multiply_core.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_multiply_kernel.xhtml">CLGEMMLowpMatrixMultiplyKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to multiply matrices. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_multiply_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_offset_contribution_kernel.xhtml">CLGEMMLowpOffsetContributionKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel used to add the offset contribution after <a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_multiply_kernel.xhtml">CLGEMMLowpMatrixMultiplyKernel</a>. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_offset_contribution_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale.xhtml">CLGEMMLowpQuantizeDownInt32ToUint8Scale</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale.xhtml" title="Basic function to execute CLGEMMLowpQuantizeDownInt32ToUint8Scale on OpenCL. ">CLGEMMLowpQuantizeDownInt32ToUint8Scale</a> on OpenCL. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point.xhtml">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point.xhtml" title="Basic function to execute CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint on OpenCL. ">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint</a> on OpenCL. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel.xhtml">CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel used to quantize down the int32 accumulator values of GEMMLowp to QASYMM8. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_kernel.xhtml">CLGEMMLowpQuantizeDownInt32ToUint8ScaleKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel used to quantize down the int32 accumulator values of GEMMLowp to QASYMM8. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_accumulate_biases_kernel.xhtml">CLGEMMMatrixAccumulateBiasesKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to add a bias to each row of the input tensor. <a href="classarm__compute_1_1_c_l_g_e_m_m_matrix_accumulate_biases_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_addition_kernel.xhtml">CLGEMMMatrixAdditionKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform the in-place matrix addition between 2 matrices, taking into account that the second matrix might be weighted by a scalar value beta. <a href="classarm__compute_1_1_c_l_g_e_m_m_matrix_addition_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_multiply_kernel.xhtml">CLGEMMMatrixMultiplyKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to multiply two input matrices "A" and "B" . <a href="classarm__compute_1_1_c_l_g_e_m_m_matrix_multiply_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_matrix_vector_multiply_kernel.xhtml">CLGEMMMatrixVectorMultiplyKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the GEMM matrix vector multiply kernel. <a href="classarm__compute_1_1_c_l_g_e_m_m_matrix_vector_multiply_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w.xhtml">CLGEMMTranspose1xW</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w_kernel.xhtml" title="OpenCL kernel which transposes the elements of a matrix in chunks of 1xW, where W is equal to (16 / e...">CLGEMMTranspose1xWKernel</a>. <a href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w_kernel.xhtml">CLGEMMTranspose1xWKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel which transposes the elements of a matrix in chunks of 1xW, where W is equal to (16 / element size of the tensor) <a href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gradient_kernel.xhtml">CLGradientKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform Gradient computation. <a href="classarm__compute_1_1_c_l_gradient_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_harris_corners.xhtml">CLHarrisCorners</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute harris corners detection. <a href="classarm__compute_1_1_c_l_harris_corners.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_harris_score_kernel.xhtml">CLHarrisScoreKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the harris score kernel. <a href="classarm__compute_1_1_c_l_harris_score_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_histogram.xhtml">CLHistogram</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute histogram. <a href="classarm__compute_1_1_c_l_histogram.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_histogram_border_kernel.xhtml">CLHistogramBorderKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to run the histogram kernel to handle the leftover part of image. <a href="classarm__compute_1_1_c_l_histogram_border_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_histogram_kernel.xhtml">CLHistogramKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to run the histogram kernel. <a href="classarm__compute_1_1_c_l_histogram_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g.xhtml">CLHOG</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL implementation of <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-object. <a href="classarm__compute_1_1_c_l_h_o_g.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_block_normalization_kernel.xhtml">CLHOGBlockNormalizationKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> block normalization. <a href="classarm__compute_1_1_c_l_h_o_g_block_normalization_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_descriptor.xhtml">CLHOGDescriptor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to calculate <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> descriptor. <a href="classarm__compute_1_1_c_l_h_o_g_descriptor.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_detector.xhtml">CLHOGDetector</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> detector based on linear SVM. <a href="classarm__compute_1_1_c_l_h_o_g_detector.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_detector_kernel.xhtml">CLHOGDetectorKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> detector kernel using linear SVM. <a href="classarm__compute_1_1_c_l_h_o_g_detector_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_gradient.xhtml">CLHOGGradient</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to calculate the gradient for <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a>. <a href="classarm__compute_1_1_c_l_h_o_g_gradient.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_multi_detection.xhtml">CLHOGMultiDetection</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to detect multiple objects (or the same object at different scales) on the same input image using <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a>. <a href="classarm__compute_1_1_c_l_h_o_g_multi_detection.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_orientation_binning_kernel.xhtml">CLHOGOrientationBinningKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> Orientation Binning. <a href="classarm__compute_1_1_c_l_h_o_g_orientation_binning_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_im2_col_kernel.xhtml">CLIm2ColKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the im2col reshape kernel. <a href="classarm__compute_1_1_c_l_im2_col_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_integral_image.xhtml">CLIntegralImage</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute integral image. <a href="classarm__compute_1_1_c_l_integral_image.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_integral_image_hor_kernel.xhtml">CLIntegralImageHorKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to run the horizontal pass of the integral image kernel. <a href="classarm__compute_1_1_c_l_integral_image_hor_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_integral_image_vert_kernel.xhtml">CLIntegralImageVertKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to run the vertical pass of the integral image kernel. <a href="classarm__compute_1_1_c_l_integral_image_vert_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_kernel_library.xhtml">CLKernelLibrary</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_c_l_kernel_library.xhtml" title="CLKernelLibrary class. ">CLKernelLibrary</a> class. <a href="classarm__compute_1_1_c_l_kernel_library.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l2_normalize_layer.xhtml">CLL2NormalizeLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Perform reduction operation. <a href="classarm__compute_1_1_c_l_l2_normalize_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l2_normalize_layer_kernel.xhtml">CLL2NormalizeLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the reduction operation kernel. <a href="classarm__compute_1_1_c_l_l2_normalize_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_laplacian_pyramid.xhtml">CLLaplacianPyramid</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute laplacian pyramid. <a href="classarm__compute_1_1_c_l_laplacian_pyramid.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_laplacian_reconstruct.xhtml">CLLaplacianReconstruct</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute laplacian reconstruction. <a href="classarm__compute_1_1_c_l_laplacian_reconstruct.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_c_l_l_k_internal_keypoint.xhtml">CLLKInternalKeypoint</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Internal keypoint structure for Lucas-Kanade Optical Flow. <a href="structarm__compute_1_1_c_l_l_k_internal_keypoint.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l_k_tracker_finalize_kernel.xhtml">CLLKTrackerFinalizeKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to run the finalize step of LKTracker, where it truncates the coordinates stored in new_points array. <a href="classarm__compute_1_1_c_l_l_k_tracker_finalize_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to run the finalize step of LKTracker, where it truncates the coordinates stored in new_points array. <a href="classarm__compute_1_1_c_l_l_k_tracker_finalize_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l_k_tracker_init_kernel.xhtml">CLLKTrackerInitKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to run the initialization step of LKTracker. <a href="classarm__compute_1_1_c_l_l_k_tracker_init_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l_k_tracker_stage0_kernel.xhtml">CLLKTrackerStage0Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to run the first stage of LKTracker, where A11, A12, A22, min_eig, ival, ixval and iyval are computed. <a href="classarm__compute_1_1_c_l_l_k_tracker_stage0_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to run the first stage of LKTracker, where A11, A12, A22, min_eig, ival, ixval and iyval are computed. <a href="classarm__compute_1_1_c_l_l_k_tracker_stage0_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l_k_tracker_stage1_kernel.xhtml">CLLKTrackerStage1Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to run the second stage of LKTracker, where the motion vectors of the given points are computed. <a href="classarm__compute_1_1_c_l_l_k_tracker_stage1_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to run the second stage of LKTracker, where the motion vectors of the given points are computed. <a href="classarm__compute_1_1_c_l_l_k_tracker_stage1_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_locally_connected_layer.xhtml">CLLocallyConnectedLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute the locally connected layer. <a href="classarm__compute_1_1_c_l_locally_connected_layer.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_locally_connected_matrix_multiply_kernel.xhtml">CLLocallyConnectedMatrixMultiplyKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to multiply each row of first tensor with low 2 dimensions of second tensor. <a href="classarm__compute_1_1_c_l_locally_connected_matrix_multiply_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_magnitude_phase_kernel.xhtml">CLMagnitudePhaseKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Template interface for the kernel to compute magnitude and phase. <a href="classarm__compute_1_1_c_l_magnitude_phase_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_mean_std_dev_kernel.xhtml">CLMeanStdDevKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to calculate mean and standard deviation of input image pixels. <a href="classarm__compute_1_1_c_l_mean_std_dev_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_median3x3_kernel.xhtml">CLMedian3x3Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the median 3x3 filter kernel. <a href="classarm__compute_1_1_c_l_median3x3_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_min_max_layer_kernel.xhtml">CLMinMaxLayerKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform min max search on a 3D tensor. <a href="classarm__compute_1_1_c_l_min_max_layer_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_min_max_kernel.xhtml">CLMinMaxKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform min max search on an image. <a href="classarm__compute_1_1_c_l_min_max_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_min_max_location_kernel.xhtml">CLMinMaxLocationKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to find min max locations of an image. <a href="classarm__compute_1_1_c_l_min_max_location_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_linear_filter_kernel.xhtml">CLNonLinearFilterKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to apply a non-linear filter. <a href="classarm__compute_1_1_c_l_non_linear_filter_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_maxima_suppression3x3_kernel.xhtml">CLNonMaximaSuppression3x3Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to perform Non-Maxima suppression over a 3x3 window using OpenCL. <a href="classarm__compute_1_1_c_l_non_maxima_suppression3x3_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_normalization_layer_kernel.xhtml">CLNormalizationLayerKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the normalization layer kernel. <a href="classarm__compute_1_1_c_l_normalization_layer_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pixel_wise_multiplication_kernel.xhtml">CLPixelWiseMultiplicationKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the pixelwise multiplication kernel. <a href="classarm__compute_1_1_c_l_pixel_wise_multiplication_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pooling_layer_kernel.xhtml">CLPoolingLayerKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the pooling layer kernel. <a href="classarm__compute_1_1_c_l_pooling_layer_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_quantization_layer_kernel.xhtml">CLQuantizationLayerKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the quantization layer kernel. <a href="classarm__compute_1_1_c_l_quantization_layer_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_reduction_operation_kernel.xhtml">CLReductionOperationKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the reduction operation kernel. <a href="classarm__compute_1_1_c_l_reduction_operation_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_remap_kernel.xhtml">CLRemapKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform a remap on a tensor. <a href="classarm__compute_1_1_c_l_remap_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_reshape_layer_kernel.xhtml">CLReshapeLayerKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform tensor reshaping. <a href="classarm__compute_1_1_c_l_reshape_layer_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_r_o_i_pooling_layer_kernel.xhtml">CLROIPoolingLayerKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the <a class="el" href="structarm__compute_1_1_r_o_i.xhtml" title="Region of interest. ">ROI</a> pooling layer kernel. <a href="classarm__compute_1_1_c_l_r_o_i_pooling_layer_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scale_kernel.xhtml">CLScaleKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the scale kernel. <a href="classarm__compute_1_1_c_l_scale_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scharr3x3_kernel.xhtml">CLScharr3x3Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run a 3x3 Scharr filter on a tensor. <a href="classarm__compute_1_1_c_l_scharr3x3_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel3x3_kernel.xhtml">CLSobel3x3Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run a 3x3 Sobel filter on a tensor. <a href="classarm__compute_1_1_c_l_sobel3x3_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel5x5_hor_kernel.xhtml">CLSobel5x5HorKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the horizontal pass of 5x5 Sobel filter on a tensor. <a href="classarm__compute_1_1_c_l_sobel5x5_hor_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel5x5_vert_kernel.xhtml">CLSobel5x5VertKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the vertical pass of 5x5 Sobel filter on a tensor. <a href="classarm__compute_1_1_c_l_sobel5x5_vert_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel7x7_hor_kernel.xhtml">CLSobel7x7HorKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the horizontal pass of 7x7 Sobel filter on a tensor. <a href="classarm__compute_1_1_c_l_sobel7x7_hor_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel7x7_vert_kernel.xhtml">CLSobel7x7VertKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the vertical pass of 7x7 Sobel filter on a tensor. <a href="classarm__compute_1_1_c_l_sobel7x7_vert_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to multiply each row of first tensor with low 2 dimensions of second tensor. <a href="classarm__compute_1_1_c_l_locally_connected_matrix_multiply_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_logits1_d_max_kernel.xhtml">CLLogits1DMaxKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the identifying the max value of 1D Logits. <a href="classarm__compute_1_1_c_l_logits1_d_max_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the identifying the max value of 1D Logits. <a href="classarm__compute_1_1_c_l_logits1_d_max_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_logits1_d_shift_exp_sum_kernel.xhtml">CLLogits1DShiftExpSumKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for shifting the logits values around the max value and exponentiating the result. <a href="classarm__compute_1_1_c_l_logits1_d_shift_exp_sum_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_logits1_d_max_shift_exp_sum_kernel.xhtml">CLLogits1DMaxShiftExpSumKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for max, shifting, exponentiating and summing the logits. <a href="classarm__compute_1_1_c_l_logits1_d_max_shift_exp_sum_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_logits1_d_norm_kernel.xhtml">CLLogits1DNormKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for calculating the final step of the Softmax Layer where each logit value is multiplied by the inverse of the sum of the logits. <a href="classarm__compute_1_1_c_l_logits1_d_norm_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for calculating the final step of the Softmax Layer where each logit value is multiplied by the inverse of the sum of the logits. <a href="classarm__compute_1_1_c_l_logits1_d_norm_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_table_lookup_kernel.xhtml">CLTableLookupKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform table lookup calculations. <a href="classarm__compute_1_1_c_l_table_lookup_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_logits1_d_shift_exp_sum_kernel.xhtml">CLLogits1DShiftExpSumKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for shifting, exponentiating and summing the logits. <a href="classarm__compute_1_1_c_l_logits1_d_shift_exp_sum_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_threshold_kernel.xhtml">CLThresholdKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the thresholding kernel. <a href="classarm__compute_1_1_c_l_threshold_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_lut.xhtml">CLLut</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the OpenCL lut interface. <a href="classarm__compute_1_1_c_l_lut.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_transpose_kernel.xhtml">CLTransposeKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel which transposes the elements of a matrix. <a href="classarm__compute_1_1_c_l_transpose_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_lut_allocator.xhtml">CLLutAllocator</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of a CL memory LUT allocator. <a href="classarm__compute_1_1_c_l_lut_allocator.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_affine_kernel.xhtml">CLWarpAffineKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the warp affine kernel. <a href="classarm__compute_1_1_c_l_warp_affine_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_magnitude.xhtml">CLMagnitude</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_magnitude_phase_kernel.xhtml">CLMagnitudePhaseKernel</a>. <a href="classarm__compute_1_1_c_l_magnitude.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_perspective_kernel.xhtml">CLWarpPerspectiveKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the warp perspective kernel. <a href="classarm__compute_1_1_c_l_warp_perspective_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_magnitude_phase_kernel.xhtml">CLMagnitudePhaseKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Template interface for the kernel to compute magnitude and phase. <a href="classarm__compute_1_1_c_l_magnitude_phase_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_weights_reshape_kernel.xhtml">CLWeightsReshapeKernel</a></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_mean_std_dev.xhtml">CLMeanStdDev</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute mean and standard deviation by calling <a class="el" href="classarm__compute_1_1_c_l_mean_std_dev_kernel.xhtml">CLMeanStdDevKernel</a>. <a href="classarm__compute_1_1_c_l_mean_std_dev.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_mean_std_dev_kernel.xhtml">CLMeanStdDevKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to calculate mean and standard deviation of input image pixels. <a href="classarm__compute_1_1_c_l_mean_std_dev_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_median3x3.xhtml">CLMedian3x3</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute median filter. <a href="classarm__compute_1_1_c_l_median3x3.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_median3x3_kernel.xhtml">CLMedian3x3Kernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the median 3x3 filter kernel. <a href="classarm__compute_1_1_c_l_median3x3_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_min_max_kernel.xhtml">CLMinMaxKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform min max search on an image. <a href="classarm__compute_1_1_c_l_min_max_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_min_max_layer_kernel.xhtml">CLMinMaxLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform min max search on a 3D tensor. <a href="classarm__compute_1_1_c_l_min_max_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_min_max_location.xhtml">CLMinMaxLocation</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute min and max location. <a href="classarm__compute_1_1_c_l_min_max_location.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_min_max_location_kernel.xhtml">CLMinMaxLocationKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to find min max locations of an image. <a href="classarm__compute_1_1_c_l_min_max_location_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_multi_h_o_g.xhtml">CLMultiHOG</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the CL multi <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-objects. <a href="classarm__compute_1_1_c_l_multi_h_o_g.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_multi_image.xhtml">CLMultiImage</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the CL multi-planar image interface. <a href="classarm__compute_1_1_c_l_multi_image.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_linear_filter.xhtml">CLNonLinearFilter</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute non linear filter. <a href="classarm__compute_1_1_c_l_non_linear_filter.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_linear_filter_kernel.xhtml">CLNonLinearFilterKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to apply a non-linear filter. <a href="classarm__compute_1_1_c_l_non_linear_filter_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_maxima_suppression3x3.xhtml">CLNonMaximaSuppression3x3</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute non-maxima suppression over a 3x3 window. <a href="classarm__compute_1_1_c_l_non_maxima_suppression3x3.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_maxima_suppression3x3_kernel.xhtml">CLNonMaximaSuppression3x3Kernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to perform Non-Maxima suppression over a 3x3 window using OpenCL. <a href="classarm__compute_1_1_c_l_non_maxima_suppression3x3_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_normalization_layer.xhtml">CLNormalizationLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute a normalization layer. <a href="classarm__compute_1_1_c_l_normalization_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_normalization_layer_kernel.xhtml">CLNormalizationLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the normalization layer kernel. <a href="classarm__compute_1_1_c_l_normalization_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_c_l_old_value.xhtml">CLOldValue</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Structure for storing ival, ixval and iyval for each point inside the window. <a href="structarm__compute_1_1_c_l_old_value.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_optical_flow.xhtml">CLOpticalFlow</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute optical flow. <a href="classarm__compute_1_1_c_l_optical_flow.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_phase.xhtml">CLPhase</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute an <a class="el" href="classarm__compute_1_1_c_l_magnitude_phase_kernel.xhtml">CLMagnitudePhaseKernel</a>. <a href="classarm__compute_1_1_c_l_phase.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pixel_wise_multiplication.xhtml">CLPixelWiseMultiplication</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_pixel_wise_multiplication_kernel.xhtml">CLPixelWiseMultiplicationKernel</a>. <a href="classarm__compute_1_1_c_l_pixel_wise_multiplication.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pixel_wise_multiplication_kernel.xhtml">CLPixelWiseMultiplicationKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the pixelwise multiplication kernel. <a href="classarm__compute_1_1_c_l_pixel_wise_multiplication_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pooling_layer.xhtml">CLPoolingLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to simulate a pooling layer with the specified pooling operation. <a href="classarm__compute_1_1_c_l_pooling_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pooling_layer_kernel.xhtml">CLPoolingLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the pooling layer kernel. <a href="classarm__compute_1_1_c_l_pooling_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pyramid.xhtml">CLPyramid</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the OpenCL pyramid interface. <a href="classarm__compute_1_1_c_l_pyramid.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_quantization_layer.xhtml">CLQuantizationLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to simulate a quantization layer. <a href="classarm__compute_1_1_c_l_quantization_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_quantization_layer_kernel.xhtml">CLQuantizationLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the quantization layer kernel. <a href="classarm__compute_1_1_c_l_quantization_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_reduction_operation.xhtml">CLReductionOperation</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Perform reduction operation. <a href="classarm__compute_1_1_c_l_reduction_operation.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_reduction_operation_kernel.xhtml">CLReductionOperationKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the reduction operation kernel. <a href="classarm__compute_1_1_c_l_reduction_operation_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_remap.xhtml">CLRemap</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute remap. <a href="classarm__compute_1_1_c_l_remap.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_remap_kernel.xhtml">CLRemapKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel to perform a remap on a tensor. <a href="classarm__compute_1_1_c_l_remap_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_reshape_layer.xhtml">CLReshapeLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_reshape_layer_kernel.xhtml">CLReshapeLayerKernel</a>. <a href="classarm__compute_1_1_c_l_reshape_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_reshape_layer_kernel.xhtml">CLReshapeLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform tensor reshaping. <a href="classarm__compute_1_1_c_l_reshape_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_r_o_i_pooling_layer.xhtml">CLROIPoolingLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_r_o_i_pooling_layer_kernel.xhtml">CLROIPoolingLayerKernel</a>. <a href="classarm__compute_1_1_c_l_r_o_i_pooling_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_r_o_i_pooling_layer_kernel.xhtml">CLROIPoolingLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the <a class="el" href="structarm__compute_1_1_r_o_i.xhtml" title="Region of interest. ">ROI</a> pooling layer kernel. <a href="classarm__compute_1_1_c_l_r_o_i_pooling_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scale.xhtml">CLScale</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_scale_kernel.xhtml">CLScaleKernel</a>. <a href="classarm__compute_1_1_c_l_scale.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scale_kernel.xhtml">CLScaleKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the scale kernel. <a href="classarm__compute_1_1_c_l_scale_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scharr3x3.xhtml">CLScharr3x3</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute scharr 3x3 filter. <a href="classarm__compute_1_1_c_l_scharr3x3.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scharr3x3_kernel.xhtml">CLScharr3x3Kernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run a 3x3 Scharr filter on a tensor. <a href="classarm__compute_1_1_c_l_scharr3x3_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scheduler.xhtml">CLScheduler</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Provides global access to a CL context and command queue. <a href="classarm__compute_1_1_c_l_scheduler.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml">CLSeparableConvolutionHorKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the Horizontal pass of a Separable Convolution. <a href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml">CLSeparableConvolutionVertKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the Vertical pass of a Separable Convolution. <a href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel3x3.xhtml">CLSobel3x3</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute sobel 3x3 filter. <a href="classarm__compute_1_1_c_l_sobel3x3.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel3x3_kernel.xhtml">CLSobel3x3Kernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run a 3x3 Sobel filter on a tensor. <a href="classarm__compute_1_1_c_l_sobel3x3_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel5x5.xhtml">CLSobel5x5</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute sobel 5x5 filter. <a href="classarm__compute_1_1_c_l_sobel5x5.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel5x5_hor_kernel.xhtml">CLSobel5x5HorKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the horizontal pass of 5x5 Sobel filter on a tensor. <a href="classarm__compute_1_1_c_l_sobel5x5_hor_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel5x5_vert_kernel.xhtml">CLSobel5x5VertKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the vertical pass of 5x5 Sobel filter on a tensor. <a href="classarm__compute_1_1_c_l_sobel5x5_vert_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel7x7.xhtml">CLSobel7x7</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute sobel 7x7 filter. <a href="classarm__compute_1_1_c_l_sobel7x7.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel7x7_hor_kernel.xhtml">CLSobel7x7HorKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the horizontal pass of 7x7 Sobel filter on a tensor. <a href="classarm__compute_1_1_c_l_sobel7x7_hor_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel7x7_vert_kernel.xhtml">CLSobel7x7VertKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the vertical pass of 7x7 Sobel filter on a tensor. <a href="classarm__compute_1_1_c_l_sobel7x7_vert_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_softmax_layer.xhtml">CLSoftmaxLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute a SoftmaxLayer. <a href="classarm__compute_1_1_c_l_softmax_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml">CLSubTensor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the OpenCL sub-tensor interface. <a href="classarm__compute_1_1_c_l_sub_tensor.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_symbols.xhtml">CLSymbols</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_table_lookup.xhtml">CLTableLookup</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_table_lookup_kernel.xhtml">CLTableLookupKernel</a>. <a href="classarm__compute_1_1_c_l_table_lookup.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_table_lookup_kernel.xhtml">CLTableLookupKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform table lookup calculations. <a href="classarm__compute_1_1_c_l_table_lookup_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_tensor.xhtml">CLTensor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the OpenCL tensor interface. <a href="classarm__compute_1_1_c_l_tensor.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_tensor_allocator.xhtml">CLTensorAllocator</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of a CL memory tensor allocator. <a href="classarm__compute_1_1_c_l_tensor_allocator.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_threshold.xhtml">CLThreshold</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_threshold_kernel.xhtml">CLThresholdKernel</a>. <a href="classarm__compute_1_1_c_l_threshold.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_threshold_kernel.xhtml">CLThresholdKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the thresholding kernel. <a href="classarm__compute_1_1_c_l_threshold_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_transpose.xhtml">CLTranspose</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to transpose a matrix on OpenCL. <a href="classarm__compute_1_1_c_l_transpose.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_transpose_kernel.xhtml">CLTransposeKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL kernel which transposes the elements of a matrix. <a href="classarm__compute_1_1_c_l_transpose_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_tuner.xhtml">CLTuner</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the OpenCL tuner interface. <a href="classarm__compute_1_1_c_l_tuner.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_affine.xhtml">CLWarpAffine</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_warp_affine_kernel.xhtml">CLWarpAffineKernel</a> for AFFINE transformation. <a href="classarm__compute_1_1_c_l_warp_affine.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_affine_kernel.xhtml">CLWarpAffineKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the warp affine kernel. <a href="classarm__compute_1_1_c_l_warp_affine_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_perspective.xhtml">CLWarpPerspective</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_warp_perspective_kernel.xhtml">CLWarpPerspectiveKernel</a> for PERSPECTIVE transformation. <a href="classarm__compute_1_1_c_l_warp_perspective.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_perspective_kernel.xhtml">CLWarpPerspectiveKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the warp perspective kernel. <a href="classarm__compute_1_1_c_l_warp_perspective_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_weights_reshape_kernel.xhtml">CLWeightsReshapeKernel</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a> of an item. <a href="classarm__compute_1_1_coordinates.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a> of an item. <a href="classarm__compute_1_1_coordinates.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Coordinate type. <a href="structarm__compute_1_1_coordinates2_d.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_coordinates3_d.xhtml">Coordinates3D</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Coordinate type. <a href="structarm__compute_1_1_coordinates3_d.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_corner_candidates_kernel.xhtml">CPPCornerCandidatesKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CPP kernel to perform corner candidates. <a href="classarm__compute_1_1_c_p_p_corner_candidates_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_detection_window_non_maxima_suppression_kernel.xhtml">CPPDetectionWindowNonMaximaSuppressionKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CPP kernel to perform in-place computation of euclidean distance on IDetectionWindowArray. <a href="classarm__compute_1_1_c_p_p_detection_window_non_maxima_suppression_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_permute.xhtml">CPPPermute</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_p_p_permute_kernel.xhtml">CPPPermuteKernel</a>. <a href="classarm__compute_1_1_c_p_p_permute.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_permute_kernel.xhtml">CPPPermuteKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CPP kernel to perform tensor permutation. <a href="classarm__compute_1_1_c_p_p_permute_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_scheduler.xhtml">CPPScheduler</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">C++11 implementation of a pool of threads to automatically split a kernel's execution among several threads. <a href="classarm__compute_1_1_c_p_p_scheduler.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_sort_euclidean_distance_kernel.xhtml">CPPSortEuclideanDistanceKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CPP kernel to perform sorting and euclidean distance. <a href="classarm__compute_1_1_c_p_p_sort_euclidean_distance_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_c_p_u_info.xhtml">CPUInfo</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_thread_info.xhtml">ThreadInfo</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_p_p_kernel.xhtml">ICPPKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Common interface for all kernels implemented in C++. <a href="classarm__compute_1_1_i_c_p_p_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_p_p_simple_kernel.xhtml">ICPPSimpleKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for simple NEON kernels having 1 tensor input and 1 tensor output. <a href="classarm__compute_1_1_i_c_p_p_simple_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_corner_candidates_kernel.xhtml">CPPCornerCandidatesKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CPP kernel to perform corner candidates. <a href="classarm__compute_1_1_c_p_p_corner_candidates_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_detection_window_non_maxima_suppression_kernel.xhtml">CPPDetectionWindowNonMaximaSuppressionKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CPP kernel to perform in-place computation of euclidean distance on IDetectionWindowArray. <a href="classarm__compute_1_1_c_p_p_detection_window_non_maxima_suppression_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_sort_euclidean_distance_kernel.xhtml">CPPSortEuclideanDistanceKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CPP kernel to perform sorting and euclidean distance. <a href="classarm__compute_1_1_c_p_p_sort_euclidean_distance_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Detection window used for the object detection. <a href="structarm__compute_1_1_detection_window.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> with dimensionality. <a href="classarm__compute_1_1_dimensions.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> with dimensionality. <a href="classarm__compute_1_1_dimensions.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_distribution1_d.xhtml">Distribution1D</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the 1D distribution interface. <a href="classarm__compute_1_1_distribution1_d.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1enable__bitwise__ops.xhtml">enable_bitwise_ops</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_iterator.xhtml">Iterator</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_iterator.xhtml" title="Iterator updated by execute_window_loop for each window element. ">Iterator</a> updated by <a class="el" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a> for each window element. <a href="classarm__compute_1_1_iterator.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1enable__bitwise__ops_3_01arm__compute_1_1_g_p_u_target_01_4.xhtml">enable_bitwise_ops< arm_compute::GPUTarget ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Enable operation operations on GPUTarget enumerations. <a href="structarm__compute_1_1enable__bitwise__ops_3_01arm__compute_1_1_g_p_u_target_01_4.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml">HOGInfo</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Store the <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a>'s metadata. <a href="classarm__compute_1_1_h_o_g_info.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_absolute_difference.xhtml">GCAbsoluteDifference</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_g_c_absolute_difference_kernel.xhtml">GCAbsoluteDifferenceKernel</a>. <a href="classarm__compute_1_1_g_c_absolute_difference.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_access_window.xhtml">IAccessWindow</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface describing methods to update access window and padding based on kernel parameters. <a href="classarm__compute_1_1_i_access_window.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_absolute_difference_kernel.xhtml">GCAbsoluteDifferenceKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the absolute difference kernel. <a href="classarm__compute_1_1_g_c_absolute_difference_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_rectangle.xhtml">AccessWindowRectangle</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Implementation of a rectangular access pattern. <a href="classarm__compute_1_1_access_window_rectangle.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_activation_layer.xhtml">GCActivationLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_g_c_activation_layer_kernel.xhtml">GCActivationLayerKernel</a>. <a href="classarm__compute_1_1_g_c_activation_layer.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_vertical.xhtml">AccessWindowVertical</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Implementation of a column access pattern. <a href="classarm__compute_1_1_access_window_vertical.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_activation_layer_kernel.xhtml">GCActivationLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the activation layer kernel. <a href="classarm__compute_1_1_g_c_activation_layer_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_access_window_horizontal.xhtml">AccessWindowHorizontal</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Implementation of a row access pattern. <a href="classarm__compute_1_1_access_window_horizontal.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_batch_normalization_layer.xhtml">GCBatchNormalizationLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_g_c_batch_normalization_layer_kernel.xhtml">GCBatchNormalizationLayerKernel</a> and simulate a batch normalization layer. <a href="classarm__compute_1_1_g_c_batch_normalization_layer.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_array.xhtml" title="Basic implementation of the IArray interface which allocates a static number of T values...">Array</a> of type T. <a href="classarm__compute_1_1_i_array.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_batch_normalization_layer_kernel.xhtml">GCBatchNormalizationLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the BatchNormalization layer kernel. <a href="classarm__compute_1_1_g_c_batch_normalization_layer_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_distribution.xhtml">IDistribution</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for distribution objects. <a href="classarm__compute_1_1_i_distribution.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_col2_im_kernel.xhtml">GCCol2ImKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the col2im reshaping kernel. <a href="classarm__compute_1_1_g_c_col2_im_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_distribution1_d.xhtml">IDistribution1D</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">1D Distribution interface <a href="classarm__compute_1_1_i_distribution1_d.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_depth_concatenate_layer.xhtml">GCDepthConcatenateLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute concatenate tensors along z axis. <a href="classarm__compute_1_1_g_c_depth_concatenate_layer.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_h_o_g.xhtml">IHOG</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-object. <a href="classarm__compute_1_1_i_h_o_g.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_depth_concatenate_layer_kernel.xhtml">GCDepthConcatenateLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the depth concatenate kernel. <a href="classarm__compute_1_1_g_c_depth_concatenate_layer_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_kernel.xhtml">IKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Common information for all the kernels. <a href="classarm__compute_1_1_i_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_direct_convolution_layer.xhtml">GCDirectConvolutionLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute direct convolution function: <a href="classarm__compute_1_1_g_c_direct_convolution_layer.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_lut.xhtml">ILut</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Lookup Table object interface. <a href="classarm__compute_1_1_i_lut.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_direct_convolution_layer_kernel.xhtml">GCDirectConvolutionLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the direct convolution kernel. <a href="classarm__compute_1_1_g_c_direct_convolution_layer_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for storing multiple <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-objects. <a href="classarm__compute_1_1_i_multi_h_o_g.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_dropout_layer.xhtml">GCDropoutLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to do dropout op. <a href="classarm__compute_1_1_g_c_dropout_layer.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_multi_image.xhtml">IMultiImage</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for multi-planar images. <a href="classarm__compute_1_1_i_multi_image.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_dropout_layer_kernel.xhtml">GCDropoutLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the dropout layer kernel. <a href="classarm__compute_1_1_g_c_dropout_layer_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_pyramid.xhtml">IPyramid</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for pyramid data-object. <a href="classarm__compute_1_1_i_pyramid.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_fill_border.xhtml">GCFillBorder</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_g_c_fill_border_kernel.xhtml">GCFillBorderKernel</a>. <a href="classarm__compute_1_1_g_c_fill_border.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for NEON tensor. <a href="classarm__compute_1_1_i_tensor.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_fill_border_kernel.xhtml">GCFillBorderKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for filling the border of a kernel. <a href="classarm__compute_1_1_g_c_fill_border_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Store the tensor's metadata. <a href="classarm__compute_1_1_i_tensor_info.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_fully_connected_layer.xhtml">GCFullyConnectedLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute a Fully Connected layer on OpenGL ES. <a href="classarm__compute_1_1_g_c_fully_connected_layer.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_logger.xhtml">Logger</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_logger.xhtml" title="Logger singleton class. ">Logger</a> singleton class. <a href="classarm__compute_1_1_logger.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_fully_connected_layer_reshape_weights.xhtml">GCFullyConnectedLayerReshapeWeights</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to reshape the weights of Fully Connected layer with OpenGL ES. <a href="classarm__compute_1_1_g_c_fully_connected_layer_reshape_weights.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_multi_image_info.xhtml">MultiImageInfo</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Store the multi-planar image's metadata. <a href="classarm__compute_1_1_multi_image_info.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_g_e_m_m.xhtml">GCGEMM</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute GEMM on OpenGLES Compute. <a href="classarm__compute_1_1_g_c_g_e_m_m.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_a_arch32_kernel.xhtml">NEGEMMAArch32Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">AArch32/armv7a NEON kernel to multiply two input matrices "A" and "B". <a href="classarm__compute_1_1_n_e_g_e_m_m_a_arch32_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_interleave4x4.xhtml">GCGEMMInterleave4x4</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_interleave4x4_kernel.xhtml" title="OpenGL ES kernel which interleaves the elements of a matrix A in chunk of 4x4. ">GCGEMMInterleave4x4Kernel</a>. <a href="classarm__compute_1_1_g_c_g_e_m_m_interleave4x4.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_a_arch64_kernel.xhtml">NEGEMMAArch64Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">AArch64 NEON kernel to multiply two input matrices "A" and "B". <a href="classarm__compute_1_1_n_e_g_e_m_m_a_arch64_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_interleave4x4_kernel.xhtml">GCGEMMInterleave4x4Kernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenGL ES kernel which interleaves the elements of a matrix A in chunk of 4x4. <a href="classarm__compute_1_1_g_c_g_e_m_m_interleave4x4_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_absolute_difference_kernel.xhtml">NEAbsoluteDifferenceKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the absolute difference kernel. <a href="classarm__compute_1_1_n_e_absolute_difference_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_matrix_accumulate_biases_kernel.xhtml">GCGEMMMatrixAccumulateBiasesKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to add a bias to each row of the input tensor. <a href="classarm__compute_1_1_g_c_g_e_m_m_matrix_accumulate_biases_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_kernel.xhtml">NEAccumulateKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the accumulate kernel. <a href="classarm__compute_1_1_n_e_accumulate_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_matrix_addition_kernel.xhtml">GCGEMMMatrixAdditionKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenGL ES kernel to perform the in-place matrix addition between 2 matrices, taking into account that the second matrix might be weighted by a scalar value beta. <a href="classarm__compute_1_1_g_c_g_e_m_m_matrix_addition_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted_kernel.xhtml">NEAccumulateWeightedKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the accumulate weighted kernel. <a href="classarm__compute_1_1_n_e_accumulate_weighted_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_matrix_multiply_kernel.xhtml">GCGEMMMatrixMultiplyKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">GLES Compute kernel to multiply two input matrices "A" and "B" or to multiply a vector "A" by a matrix "B". <a href="classarm__compute_1_1_g_c_g_e_m_m_matrix_multiply_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted_f_p16_kernel.xhtml">NEAccumulateWeightedFP16Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the accumulate weighted kernel using F16. <a href="classarm__compute_1_1_n_e_accumulate_weighted_f_p16_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_transpose1x_w.xhtml">GCGEMMTranspose1xW</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_transpose1x_w_kernel.xhtml" title="OpenGLES kernel which transposes the elements of a matrix in chunks of 1xW, where W is equal to (16 /...">GCGEMMTranspose1xWKernel</a>. <a href="classarm__compute_1_1_g_c_g_e_m_m_transpose1x_w.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_squared_kernel.xhtml">NEAccumulateSquaredKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the accumulate squared kernel. <a href="classarm__compute_1_1_n_e_accumulate_squared_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_transpose1x_w_kernel.xhtml">GCGEMMTranspose1xWKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenGLES kernel which transposes the elements of a matrix in chunks of 1xW, where W is equal to (16 / element size of the tensor) <a href="classarm__compute_1_1_g_c_g_e_m_m_transpose1x_w_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_activation_layer_kernel.xhtml">NEActivationLayerKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the activation layer kernel. <a href="classarm__compute_1_1_n_e_activation_layer_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_im2_col_kernel.xhtml">GCIm2ColKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the im2col reshape kernel. <a href="classarm__compute_1_1_g_c_im2_col_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_addition_kernel.xhtml">NEArithmeticAdditionKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform addition between two tensors. <a href="classarm__compute_1_1_n_e_arithmetic_addition_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_kernel.xhtml">GCKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_g_c_kernel.xhtml" title="GCKernel class. ">GCKernel</a> class. <a href="classarm__compute_1_1_g_c_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_subtraction_kernel.xhtml">NEArithmeticSubtractionKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform subtraction between two tensors. <a href="classarm__compute_1_1_n_e_arithmetic_subtraction_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_kernel_library.xhtml">GCKernelLibrary</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_g_c_kernel_library.xhtml" title="GCKernelLibrary class. ">GCKernelLibrary</a> class. <a href="classarm__compute_1_1_g_c_kernel_library.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_batch_normalization_layer_kernel.xhtml">NEBatchNormalizationLayerKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the batch normalization layer kernel. <a href="classarm__compute_1_1_n_e_batch_normalization_layer_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_logits1_d_max_kernel.xhtml">GCLogits1DMaxKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the identifying the max value of 1D Logits. <a href="classarm__compute_1_1_g_c_logits1_d_max_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_and_kernel.xhtml">NEBitwiseAndKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform bitwise AND between XY-planes of two tensors. <a href="classarm__compute_1_1_n_e_bitwise_and_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_logits1_d_norm_kernel.xhtml">GCLogits1DNormKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for calculating the final step of the Softmax Layer where each logit value is multiplied by the inverse of the sum of the logits. <a href="classarm__compute_1_1_g_c_logits1_d_norm_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_not_kernel.xhtml">NEBitwiseNotKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform bitwise NOT operation. <a href="classarm__compute_1_1_n_e_bitwise_not_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_logits1_d_shift_exp_sum_kernel.xhtml">GCLogits1DShiftExpSumKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for shifting the logits values around the max value and exponentiating the result. <a href="classarm__compute_1_1_g_c_logits1_d_shift_exp_sum_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_or_kernel.xhtml">NEBitwiseOrKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform bitwise inclusive OR between two tensors. <a href="classarm__compute_1_1_n_e_bitwise_or_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_normalization_layer.xhtml">GCNormalizationLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute a normalization layer. <a href="classarm__compute_1_1_g_c_normalization_layer.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_xor_kernel.xhtml">NEBitwiseXorKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform bitwise exclusive OR (XOR) between two tensors. <a href="classarm__compute_1_1_n_e_bitwise_xor_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_normalization_layer_kernel.xhtml">GCNormalizationLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the normalization layer kernel. <a href="classarm__compute_1_1_g_c_normalization_layer_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_box3x3_kernel.xhtml">NEBox3x3Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform a Box 3x3 filter. <a href="classarm__compute_1_1_n_e_box3x3_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_pixel_wise_multiplication.xhtml">GCPixelWiseMultiplication</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_g_c_pixel_wise_multiplication_kernel.xhtml">GCPixelWiseMultiplicationKernel</a>. <a href="classarm__compute_1_1_g_c_pixel_wise_multiplication.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_box3x3_f_p16_kernel.xhtml">NEBox3x3FP16Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform a Box 3x3 filter using F16 simd. <a href="classarm__compute_1_1_n_e_box3x3_f_p16_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_pixel_wise_multiplication_kernel.xhtml">GCPixelWiseMultiplicationKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the pixelwise multiplication kernel. <a href="classarm__compute_1_1_g_c_pixel_wise_multiplication_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gradient_kernel.xhtml">NEGradientKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Computes magnitude and quantised phase from inputs gradients. <a href="classarm__compute_1_1_n_e_gradient_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_pooling_layer.xhtml">GCPoolingLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to simulate a pooling layer with the specified pooling operation. <a href="classarm__compute_1_1_g_c_pooling_layer.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gradient_f_p16_kernel.xhtml">NEGradientFP16Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform Gradient computation. <a href="classarm__compute_1_1_n_e_gradient_f_p16_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_pooling_layer_kernel.xhtml">GCPoolingLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the pooling layer kernel. <a href="classarm__compute_1_1_g_c_pooling_layer_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_edge_non_max_suppression_kernel.xhtml">NEEdgeNonMaxSuppressionKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform Non-Maxima suppression for Canny Edge. <a href="classarm__compute_1_1_n_e_edge_non_max_suppression_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_program.xhtml">GCProgram</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_g_c_program.xhtml" title="GCProgram class. ">GCProgram</a> class. <a href="classarm__compute_1_1_g_c_program.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_edge_trace_kernel.xhtml">NEEdgeTraceKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform Edge tracing. <a href="classarm__compute_1_1_n_e_edge_trace_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_scheduler.xhtml">GCScheduler</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Provides global access to a OpenGL ES context and command queue. <a href="classarm__compute_1_1_g_c_scheduler.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_combine_kernel.xhtml">NEChannelCombineKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the channel combine kernel. <a href="classarm__compute_1_1_n_e_channel_combine_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_softmax_layer.xhtml">GCSoftmaxLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute a SoftmaxLayer. <a href="classarm__compute_1_1_g_c_softmax_layer.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_extract_kernel.xhtml">NEChannelExtractKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the channel extract kernel. <a href="classarm__compute_1_1_n_e_channel_extract_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_tensor.xhtml">GCTensor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for OpenGL ES tensor. <a href="classarm__compute_1_1_g_c_tensor.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_col2_im_kernel.xhtml">NECol2ImKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform col2im reshaping. <a href="classarm__compute_1_1_n_e_col2_im_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_tensor_allocator.xhtml">GCTensorAllocator</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of a GLES memory tensor allocator. <a href="classarm__compute_1_1_g_c_tensor_allocator.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_color_convert_kernel.xhtml">NEColorConvertKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the color convert kernel. <a href="classarm__compute_1_1_n_e_color_convert_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_transpose.xhtml">GCTranspose</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to transpose a matrix on OpenGL ES. <a href="classarm__compute_1_1_g_c_transpose.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run an arbitrary size convolution on a tensor. <a href="classarm__compute_1_1_n_e_convolution_kernel.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_c_transpose_kernel.xhtml">GCTransposeKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenGL ES kernel which transposes the elements of a matrix. <a href="classarm__compute_1_1_g_c_transpose_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml">NESeparableConvolutionHorKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the Horizontal pass of a Separable Convolution. <a href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml">NESeparableConvolutionVertKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the Vertical pass of a Separable Convolution. <a href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_rectangle_kernel.xhtml">NEConvolutionRectangleKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the running convolution on a rectangle matrix. <a href="classarm__compute_1_1_n_e_convolution_rectangle_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_cumulative_distribution_kernel.xhtml">NECumulativeDistributionKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the cumulative distribution (cummulative summmation) calculation kernel. <a href="classarm__compute_1_1_n_e_cumulative_distribution_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depth_concatenate_kernel.xhtml">NEDepthConcatenateKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the depth concatenate kernel. <a href="classarm__compute_1_1_n_e_depth_concatenate_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depth_convert_kernel.xhtml">NEDepthConvertKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Depth conversion kernel. <a href="classarm__compute_1_1_n_e_depth_convert_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_dequantization_layer_kernel.xhtml">NEDequantizationLayerKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the dequantization layer kernel. <a href="classarm__compute_1_1_n_e_dequantization_layer_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_derivative_kernel.xhtml">NEDerivativeKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the derivative along the X/Y directions on a tensor. <a href="classarm__compute_1_1_n_e_derivative_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_dilate_kernel.xhtml">NEDilateKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform boolean image dilatation. <a href="classarm__compute_1_1_n_e_dilate_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_direct_convolution_layer_bias_accumulate_kernel.xhtml">NEDirectConvolutionLayerBiasAccumulateKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to accumulate the biases to each element of the input tensor. <a href="classarm__compute_1_1_n_e_direct_convolution_layer_bias_accumulate_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_direct_convolution_layer_kernel.xhtml">NEDirectConvolutionLayerKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON interface for Direct Convolution Layer kernel. <a href="classarm__compute_1_1_n_e_direct_convolution_layer_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_erode_kernel.xhtml">NEErodeKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform boolean image erosion. <a href="classarm__compute_1_1_n_e_erode_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fast_corners_kernel.xhtml">NEFastCornersKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform fast corners. <a href="classarm__compute_1_1_n_e_fast_corners_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fill_array_kernel.xhtml">NEFillArrayKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">This kernel adds all texels greater than or equal to the threshold value to the keypoint array. <a href="classarm__compute_1_1_n_e_fill_array_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fill_border_kernel.xhtml">NEFillBorderKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to fill borders. <a href="classarm__compute_1_1_n_e_fill_border_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fill_inner_border_kernel.xhtml">NEFillInnerBorderKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to fill the interior borders. <a href="classarm__compute_1_1_n_e_fill_inner_border_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_floor_kernel.xhtml">NEFloorKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform a floor operation. <a href="classarm__compute_1_1_n_e_floor_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian3x3_kernel.xhtml">NEGaussian3x3Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform a Gaussian 3x3 filter. <a href="classarm__compute_1_1_n_e_gaussian3x3_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian5x5_hor_kernel.xhtml">NEGaussian5x5HorKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform a Gaussian 5x5 filter (horizontal pass) <a href="classarm__compute_1_1_n_e_gaussian5x5_hor_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian5x5_vert_kernel.xhtml">NEGaussian5x5VertKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform a Gaussian 5x5 filter (vertical pass) <a href="classarm__compute_1_1_n_e_gaussian5x5_vert_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid_hor_kernel.xhtml">NEGaussianPyramidHorKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform a GaussianPyramid (horizontal pass) <a href="classarm__compute_1_1_n_e_gaussian_pyramid_hor_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid_vert_kernel.xhtml">NEGaussianPyramidVertKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform a GaussianPyramid (vertical pass) <a href="classarm__compute_1_1_n_e_gaussian_pyramid_vert_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_assembly_base_kernel.xhtml">NEGEMMAssemblyBaseKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">AssemblyBase/armv7a NEON kernel to multiply two input matrices "A" and "B". <a href="classarm__compute_1_1_n_e_g_e_m_m_assembly_base_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4_kernel.xhtml">NEGEMMInterleave4x4Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to interleave the elements of a matrix. <a href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_multiply_kernel.xhtml">NEGEMMLowpMatrixMultiplyKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to multiply matrices. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_multiply_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_matrix_accumulate_biases_kernel.xhtml">NEGEMMMatrixAccumulateBiasesKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to add a bias to each row of the input tensor. <a href="classarm__compute_1_1_n_e_g_e_m_m_matrix_accumulate_biases_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_matrix_addition_kernel.xhtml">NEGEMMMatrixAdditionKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform the in-place matrix addition between 2 matrices taking into account that the second matrix might be weighted by a scalar value beta: <a href="classarm__compute_1_1_n_e_g_e_m_m_matrix_addition_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_matrix_multiply_kernel.xhtml">NEGEMMMatrixMultiplyKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to multiply two input matrices "A" and "B". <a href="classarm__compute_1_1_n_e_g_e_m_m_matrix_multiply_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w_kernel.xhtml">NEGEMMTranspose1xWKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel which transposes the elements of a matrix in chunks of 1xW, where W is equal to (16 / element size of the tensor) <a href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_n_e_harris_score_kernel.xhtml">INEHarrisScoreKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Common interface for all Harris Score kernels. <a href="classarm__compute_1_1_i_n_e_harris_score_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_harris_score_kernel.xhtml">NEHarrisScoreKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Template NEON kernel to perform Harris Score. <a href="classarm__compute_1_1_n_e_harris_score_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_harris_score_f_p16_kernel.xhtml">NEHarrisScoreFP16Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the accumulate Weighted kernel using F16. <a href="classarm__compute_1_1_n_e_harris_score_f_p16_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_histogram_kernel.xhtml">NEHistogramKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the histogram kernel. <a href="classarm__compute_1_1_n_e_histogram_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_orientation_binning_kernel.xhtml">NEHOGOrientationBinningKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> Orientation Binning. <a href="classarm__compute_1_1_n_e_h_o_g_orientation_binning_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_block_normalization_kernel.xhtml">NEHOGBlockNormalizationKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> block normalization. <a href="classarm__compute_1_1_n_e_h_o_g_block_normalization_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_detector_kernel.xhtml">NEHOGDetectorKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> detector kernel using linear SVM. <a href="classarm__compute_1_1_n_e_h_o_g_detector_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_im2_col_kernel.xhtml">NEIm2ColKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the im2col reshape kernel. <a href="classarm__compute_1_1_n_e_im2_col_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_integral_image_kernel.xhtml">NEIntegralImageKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> to perform an image integral on an image. <a href="classarm__compute_1_1_n_e_integral_image_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_l2_normalize_kernel.xhtml">NEL2NormalizeKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for performing a L2 normalize on a given axis given the square sum of it in this axis. <a href="classarm__compute_1_1_n_e_l2_normalize_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml">NELKInternalKeypoint</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Internal keypoint class for Lucas-Kanade Optical Flow. <a href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_l_k_tracker_kernel.xhtml">NELKTrackerKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the Lucas-Kanade tracker kernel. <a href="classarm__compute_1_1_n_e_l_k_tracker_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_locally_connected_matrix_multiply_kernel.xhtml">NELocallyConnectedMatrixMultiplyKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to multiply each row of first tensor with low 2 dimensions of second tensor. <a href="classarm__compute_1_1_n_e_locally_connected_matrix_multiply_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml">NEMagnitudePhaseKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Template interface for the kernel to compute magnitude and phase. <a href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_f_p16_kernel.xhtml">NEMagnitudePhaseFP16Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Template interface for the kernel to compute magnitude and phase. <a href="classarm__compute_1_1_n_e_magnitude_phase_f_p16_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_mean_std_dev_kernel.xhtml">NEMeanStdDevKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to calculate mean and standard deviation of input image pixels. <a href="classarm__compute_1_1_n_e_mean_std_dev_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_median3x3_kernel.xhtml">NEMedian3x3Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> to perform a median filter on a tensor. <a href="classarm__compute_1_1_n_e_median3x3_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_min_max_layer_kernel.xhtml">NEMinMaxLayerKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform min max search on a 3D tensor. <a href="classarm__compute_1_1_n_e_min_max_layer_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_min_max_kernel.xhtml">NEMinMaxKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform min max search on an image. <a href="classarm__compute_1_1_n_e_min_max_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_min_max_location_kernel.xhtml">NEMinMaxLocationKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to find min max locations of an image. <a href="classarm__compute_1_1_n_e_min_max_location_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_linear_filter_kernel.xhtml">NENonLinearFilterKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to apply a non-linear filter. <a href="classarm__compute_1_1_n_e_non_linear_filter_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_kernel.xhtml">NENonMaximaSuppression3x3Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to perform Non-Maxima suppression over a 3x3 window using NEON. <a href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_f_p16_kernel.xhtml">NENonMaximaSuppression3x3FP16Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform Non-Maxima suppression 3x3 with intermediate results in F16 if the input data type is F32. <a href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_f_p16_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_normalization_layer_kernel.xhtml">NENormalizationLayerKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the normalization layer kernel. <a href="classarm__compute_1_1_n_e_normalization_layer_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform addition between two tensors. <a href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pooling_layer_kernel.xhtml">NEPoolingLayerKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the pooling layer kernel. <a href="classarm__compute_1_1_n_e_pooling_layer_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_quantization_layer_kernel.xhtml">NEQuantizationLayerKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the quantization layer kernel. <a href="classarm__compute_1_1_n_e_quantization_layer_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_reduction_operation_kernel.xhtml">NEReductionOperationKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform a reduction operation. <a href="classarm__compute_1_1_n_e_reduction_operation_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_remap_kernel.xhtml">NERemapKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform a remap on a tensor. <a href="classarm__compute_1_1_n_e_remap_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_reshape_layer_kernel.xhtml">NEReshapeLayerKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform tensor reshaping. <a href="classarm__compute_1_1_n_e_reshape_layer_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_r_o_i_pooling_layer_kernel.xhtml">NEROIPoolingLayerKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the <a class="el" href="structarm__compute_1_1_r_o_i.xhtml" title="Region of interest. ">ROI</a> pooling layer kernel. <a href="classarm__compute_1_1_n_e_r_o_i_pooling_layer_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_scale_kernel.xhtml">NEScaleKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform scaling on a tensor. <a href="classarm__compute_1_1_n_e_scale_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_scharr3x3_kernel.xhtml">NEScharr3x3Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run a 3x3 Scharr filter on a tensor. <a href="classarm__compute_1_1_n_e_scharr3x3_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel3x3_kernel.xhtml">NESobel3x3Kernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run a 3x3 Sobel X filter on a tensor. <a href="classarm__compute_1_1_n_e_sobel3x3_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel5x5_hor_kernel.xhtml">NESobel5x5HorKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the horizontal pass of 5x5 Sobel filter on a tensor. <a href="classarm__compute_1_1_n_e_sobel5x5_hor_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel5x5_vert_kernel.xhtml">NESobel5x5VertKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the vertical pass of 5x5 Sobel Y filter on a tensor. <a href="classarm__compute_1_1_n_e_sobel5x5_vert_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel7x7_hor_kernel.xhtml">NESobel7x7HorKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the horizontal pass of 7x7 Sobel filter on a tensor. <a href="classarm__compute_1_1_n_e_sobel7x7_hor_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel7x7_vert_kernel.xhtml">NESobel7x7VertKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the vertical pass of 7x7 Sobel Y filter on a tensor. <a href="classarm__compute_1_1_n_e_sobel7x7_vert_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_logits1_d_max_kernel.xhtml">NELogits1DMaxKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the identifying the max value of 1D Logits. <a href="classarm__compute_1_1_n_e_logits1_d_max_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_logits1_d_shift_exp_sum_kernel.xhtml">NELogits1DShiftExpSumKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for shifting the logits values around the max value and exponentiating the result. <a href="classarm__compute_1_1_n_e_logits1_d_shift_exp_sum_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_logits1_d_norm_kernel.xhtml">NELogits1DNormKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for calculating the final step of the Softmax Layer where each logit value is multiplied by the inverse of the sum of the logits. <a href="classarm__compute_1_1_n_e_logits1_d_norm_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_table_lookup_kernel.xhtml">NETableLookupKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform table lookup calculations. <a href="classarm__compute_1_1_n_e_table_lookup_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_threshold_kernel.xhtml">NEThresholdKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the thresholding kernel. <a href="classarm__compute_1_1_n_e_threshold_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_transpose_kernel.xhtml">NETransposeKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel which transposes the elements of a matrix. <a href="classarm__compute_1_1_n_e_transpose_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_n_e_warp_kernel.xhtml">INEWarpKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Common interface for warp affine and warp perspective. <a href="classarm__compute_1_1_i_n_e_warp_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_warp_affine_kernel.xhtml">NEWarpAffineKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Template interface for the kernel to compute warp affine. <a href="classarm__compute_1_1_n_e_warp_affine_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_warp_perspective_kernel.xhtml">NEWarpPerspectiveKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Template interface for the kernel to compute warp perspective. <a href="classarm__compute_1_1_n_e_warp_perspective_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_weights_reshape_kernel.xhtml">NEWeightsReshapeKernel</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform reshaping on the weights used by convolution and locally connected layer. <a href="classarm__compute_1_1_n_e_weights_reshape_kernel.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pixel_value.xhtml">PixelValue</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Class describing the value of a pixel for any image format. <a href="classarm__compute_1_1_pixel_value.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pyramid_info.xhtml">PyramidInfo</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Store the <a class="el" href="classarm__compute_1_1_pyramid.xhtml" title="Basic implementation of the pyramid interface. ">Pyramid</a>'s metadata. <a href="classarm__compute_1_1_pyramid_info.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Class for specifying the size of an image or rectangle. <a href="classarm__compute_1_1_size2_d.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Class to describe a number of elements in each dimension. <a href="classarm__compute_1_1_steps.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_strides.xhtml" title="Strides of an item in bytes. ">Strides</a> of an item in bytes. <a href="classarm__compute_1_1_strides.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_sub_tensor_info.xhtml">SubTensorInfo</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Store the sub tensor's metadata. <a href="classarm__compute_1_1_sub_tensor_info.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Store the tensor's metadata. <a href="classarm__compute_1_1_tensor_info.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Shape of a tensor. <a href="classarm__compute_1_1_tensor_shape.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Container for 2D border size. <a href="structarm__compute_1_1_border_size.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="struct_keypoint.xhtml">Keypoint</a> type. <a href="structarm__compute_1_1_key_point.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_rectangle.xhtml">Rectangle</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structarm__compute_1_1_rectangle.xhtml" title="Rectangle type. ">Rectangle</a> type. <a href="structarm__compute_1_1_rectangle.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Coordinate type. <a href="structarm__compute_1_1_coordinates2_d.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_coordinates3_d.xhtml">Coordinates3D</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Coordinate type. <a href="structarm__compute_1_1_coordinates3_d.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Region of interest. <a href="structarm__compute_1_1_r_o_i.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_detection_window.xhtml">DetectionWindow</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Detection window used for the object detection. <a href="structarm__compute_1_1_detection_window.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Padding and stride information class. <a href="classarm__compute_1_1_pad_stride_info.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pooling_layer_info.xhtml">PoolingLayerInfo</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Pooling Layer Information class. <a href="classarm__compute_1_1_pooling_layer_info.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_r_o_i_pooling_layer_info.xhtml">ROIPoolingLayerInfo</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structarm__compute_1_1_r_o_i.xhtml" title="Region of interest. ">ROI</a> Pooling Layer Information class. <a href="classarm__compute_1_1_r_o_i_pooling_layer_info.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml">ActivationLayerInfo</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Activation Layer Information class. <a href="classarm__compute_1_1_activation_layer_info.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Normalization Layer Information class. <a href="classarm__compute_1_1_normalization_layer_info.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_weights_info.xhtml">WeightsInfo</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Convolution Layer Weights Information class. <a href="classarm__compute_1_1_weights_info.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_i_o_format_info.xhtml">IOFormatInfo</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">IO formatting information class. <a href="structarm__compute_1_1_i_o_format_info.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Describe a multidimensional execution window. <a href="classarm__compute_1_1_window.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_allocator.xhtml">Allocator</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Default malloc allocator implementation. <a href="classarm__compute_1_1_allocator.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_array.xhtml">Array</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the <a class="el" href="classarm__compute_1_1_i_array.xhtml" title="Array of type T. ">IArray</a> interface which allocates a static number of T values. <a href="classarm__compute_1_1_array.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_blob_lifetime_manager.xhtml">BlobLifetimeManager</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Class that tracks the lifetime of registered tensors and calculates the systems memory requirements in terms of blobs. <a href="classarm__compute_1_1_blob_lifetime_manager.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_blob_memory_pool.xhtml">BlobMemoryPool</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Blob memory pool. <a href="classarm__compute_1_1_blob_memory_pool.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_c_l_array.xhtml" title="CLArray implementation. ">CLArray</a> implementation. <a href="classarm__compute_1_1_c_l_array.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_buffer_allocator.xhtml">CLBufferAllocator</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Default OpenCL cl buffer allocator implementation. <a href="classarm__compute_1_1_c_l_buffer_allocator.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_distribution1_d.xhtml">CLDistribution1D</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_c_l_distribution1_d.xhtml" title="CLDistribution1D object class. ">CLDistribution1D</a> object class. <a href="classarm__compute_1_1_c_l_distribution1_d.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g.xhtml">CLHOG</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">OpenCL implementation of <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-object. <a href="classarm__compute_1_1_c_l_h_o_g.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_lut.xhtml">CLLut</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the OpenCL lut interface. <a href="classarm__compute_1_1_c_l_lut.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_lut_allocator.xhtml">CLLutAllocator</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of a CL memory LUT allocator. <a href="classarm__compute_1_1_c_l_lut_allocator.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_multi_h_o_g.xhtml">CLMultiHOG</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the CL multi <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-objects. <a href="classarm__compute_1_1_c_l_multi_h_o_g.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_multi_image.xhtml">CLMultiImage</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the CL multi-planar image interface. <a href="classarm__compute_1_1_c_l_multi_image.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pyramid.xhtml">CLPyramid</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the OpenCL pyramid interface. <a href="classarm__compute_1_1_c_l_pyramid.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scheduler.xhtml">CLScheduler</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Provides global access to a CL context and command queue. <a href="classarm__compute_1_1_c_l_scheduler.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sub_tensor.xhtml">CLSubTensor</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the OpenCL sub-tensor interface. <a href="classarm__compute_1_1_c_l_sub_tensor.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_tensor.xhtml">CLTensor</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the OpenCL tensor interface. <a href="classarm__compute_1_1_c_l_tensor.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_memory_group_base.xhtml">MemoryGroupBase</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Memory group. <a href="classarm__compute_1_1_memory_group_base.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_tensor_allocator.xhtml">CLTensorAllocator</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of a CL memory tensor allocator. <a href="classarm__compute_1_1_c_l_tensor_allocator.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_tuner.xhtml">CLTuner</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the OpenCL tuner interface. <a href="classarm__compute_1_1_c_l_tuner.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_absolute_difference.xhtml">CLAbsoluteDifference</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_absolute_difference_kernel.xhtml">CLAbsoluteDifferenceKernel</a>. <a href="classarm__compute_1_1_c_l_absolute_difference.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate.xhtml">CLAccumulate</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_accumulate_kernel.xhtml">CLAccumulateKernel</a>. <a href="classarm__compute_1_1_c_l_accumulate.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_weighted.xhtml">CLAccumulateWeighted</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_accumulate_weighted_kernel.xhtml">CLAccumulateWeightedKernel</a>. <a href="classarm__compute_1_1_c_l_accumulate_weighted.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_accumulate_squared.xhtml">CLAccumulateSquared</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_accumulate_squared_kernel.xhtml">CLAccumulateSquaredKernel</a>. <a href="classarm__compute_1_1_c_l_accumulate_squared.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_activation_layer.xhtml">CLActivationLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_activation_layer_kernel.xhtml">CLActivationLayerKernel</a>. <a href="classarm__compute_1_1_c_l_activation_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_addition.xhtml">CLArithmeticAddition</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_arithmetic_addition_kernel.xhtml">CLArithmeticAdditionKernel</a>. <a href="classarm__compute_1_1_c_l_arithmetic_addition.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_arithmetic_subtraction.xhtml">CLArithmeticSubtraction</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_arithmetic_subtraction_kernel.xhtml">CLArithmeticSubtractionKernel</a>. <a href="classarm__compute_1_1_c_l_arithmetic_subtraction.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_batch_normalization_layer.xhtml">CLBatchNormalizationLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_normalization_layer_kernel.xhtml">CLNormalizationLayerKernel</a> and simulate a batch normalization layer. <a href="classarm__compute_1_1_c_l_batch_normalization_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_and.xhtml">CLBitwiseAnd</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_bitwise_and_kernel.xhtml">CLBitwiseAndKernel</a>. <a href="classarm__compute_1_1_c_l_bitwise_and.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_not.xhtml">CLBitwiseNot</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_bitwise_not_kernel.xhtml">CLBitwiseNotKernel</a>. <a href="classarm__compute_1_1_c_l_bitwise_not.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_or.xhtml">CLBitwiseOr</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_bitwise_or_kernel.xhtml">CLBitwiseOrKernel</a>. <a href="classarm__compute_1_1_c_l_bitwise_or.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_bitwise_xor.xhtml">CLBitwiseXor</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_bitwise_xor_kernel.xhtml">CLBitwiseXorKernel</a>. <a href="classarm__compute_1_1_c_l_bitwise_xor.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_box3x3.xhtml">CLBox3x3</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute box filter 3x3. <a href="classarm__compute_1_1_c_l_box3x3.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_canny_edge.xhtml">CLCannyEdge</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute canny edge on OpenCL. <a href="classarm__compute_1_1_c_l_canny_edge.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_channel_combine.xhtml">CLChannelCombine</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_channel_combine_kernel.xhtml">CLChannelCombineKernel</a> to perform channel combination. <a href="classarm__compute_1_1_c_l_channel_combine.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_channel_extract.xhtml">CLChannelExtract</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_channel_extract_kernel.xhtml">CLChannelExtractKernel</a> to perform channel extraction. <a href="classarm__compute_1_1_c_l_channel_extract.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_color_convert.xhtml">CLColorConvert</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_color_convert_kernel.xhtml">CLColorConvertKernel</a>. <a href="classarm__compute_1_1_c_l_color_convert.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution3x3.xhtml">CLConvolution3x3</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute convolution of size 3x3. <a href="classarm__compute_1_1_c_l_convolution3x3.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_square.xhtml">CLConvolutionSquare</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute square convolution.Currently it supports 5x5, 7x7, 9x9. <a href="classarm__compute_1_1_c_l_convolution_square.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_rectangle.xhtml">CLConvolutionRectangle</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute non-square convolution. <a href="classarm__compute_1_1_c_l_convolution_rectangle.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_layer_reshape_weights.xhtml">CLConvolutionLayerReshapeWeights</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Function to reshape and transpose the weights. <a href="classarm__compute_1_1_c_l_convolution_layer_reshape_weights.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_convolution_layer.xhtml">CLConvolutionLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute the convolution layer. <a href="classarm__compute_1_1_c_l_convolution_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depth_concatenate.xhtml">CLDepthConcatenate</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute concatenate tensors along z axis. <a href="classarm__compute_1_1_c_l_depth_concatenate.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depth_convert.xhtml">CLDepthConvert</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_depth_convert_kernel.xhtml">CLDepthConvertKernel</a>. <a href="classarm__compute_1_1_c_l_depth_convert.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_convolution3x3.xhtml">CLDepthwiseConvolution3x3</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute a depthwise convolution for kernel size 3x3xC. <a href="classarm__compute_1_1_c_l_depthwise_convolution3x3.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_convolution.xhtml">CLDepthwiseConvolution</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute a generic depthwise convolution. <a href="classarm__compute_1_1_c_l_depthwise_convolution.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_depthwise_separable_convolution_layer.xhtml">CLDepthwiseSeparableConvolutionLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute depthwise convolution. <a href="classarm__compute_1_1_c_l_depthwise_separable_convolution_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_dequantization_layer.xhtml">CLDequantizationLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to simulate a dequantization layer. <a href="classarm__compute_1_1_c_l_dequantization_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_derivative.xhtml">CLDerivative</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute first order derivative operator. <a href="classarm__compute_1_1_c_l_derivative.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_dilate.xhtml">CLDilate</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute dilate. <a href="classarm__compute_1_1_c_l_dilate.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_direct_convolution_layer.xhtml">CLDirectConvolutionLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute direct convolution function: <a href="classarm__compute_1_1_c_l_direct_convolution_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_equalize_histogram.xhtml">CLEqualizeHistogram</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute histogram equalization. <a href="classarm__compute_1_1_c_l_equalize_histogram.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_erode.xhtml">CLErode</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute erode. <a href="classarm__compute_1_1_c_l_erode.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fast_corners.xhtml">CLFastCorners</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute fast corners. <a href="classarm__compute_1_1_c_l_fast_corners.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fill_border.xhtml">CLFillBorder</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_fill_border_kernel.xhtml">CLFillBorderKernel</a>. <a href="classarm__compute_1_1_c_l_fill_border.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_flatten_layer.xhtml">CLFlattenLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute flatten. <a href="classarm__compute_1_1_c_l_flatten_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_floor.xhtml">CLFloor</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_floor_kernel.xhtml">CLFloorKernel</a>. <a href="classarm__compute_1_1_c_l_floor.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fully_connected_layer_reshape_weights.xhtml">CLFullyConnectedLayerReshapeWeights</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to reshape the weights of Fully Connected layer with OpenCL. <a href="classarm__compute_1_1_c_l_fully_connected_layer_reshape_weights.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_fully_connected_layer.xhtml">CLFullyConnectedLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute a Fully Connected layer on OpenCL. <a href="classarm__compute_1_1_c_l_fully_connected_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian3x3.xhtml">CLGaussian3x3</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute gaussian filter 3x3. <a href="classarm__compute_1_1_c_l_gaussian3x3.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian5x5.xhtml">CLGaussian5x5</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute gaussian filter 5x5. <a href="classarm__compute_1_1_c_l_gaussian5x5.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid.xhtml">CLGaussianPyramid</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Common interface for all Gaussian pyramid functions. <a href="classarm__compute_1_1_c_l_gaussian_pyramid.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_half.xhtml">CLGaussianPyramidHalf</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute gaussian pyramid with HALF scale factor. <a href="classarm__compute_1_1_c_l_gaussian_pyramid_half.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_gaussian_pyramid_orb.xhtml">CLGaussianPyramidOrb</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute gaussian pyramid with ORB scale factor. <a href="classarm__compute_1_1_c_l_gaussian_pyramid_orb.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m.xhtml">CLGEMM</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute GEMM on OpenCL. <a href="classarm__compute_1_1_c_l_g_e_m_m.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4.xhtml">CLGEMMInterleave4x4</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4_kernel.xhtml" title="OpenCL kernel which interleaves the elements of a matrix A in chunk of 4x4. ">CLGEMMInterleave4x4Kernel</a>. <a href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp.xhtml">CLGEMMLowp</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute GEMMLowp on OpenCL. <a href="classarm__compute_1_1_c_l_g_e_m_m_lowp.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w.xhtml">CLGEMMTranspose1xW</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w_kernel.xhtml" title="OpenCL kernel which transposes the elements of a matrix in chunks of 1xW, where W is equal to (16 / e...">CLGEMMTranspose1xWKernel</a>. <a href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_harris_corners.xhtml">CLHarrisCorners</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute harris corners detection. <a href="classarm__compute_1_1_c_l_harris_corners.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_histogram.xhtml">CLHistogram</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute histogram. <a href="classarm__compute_1_1_c_l_histogram.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_descriptor.xhtml">CLHOGDescriptor</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to calculate <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> descriptor. <a href="classarm__compute_1_1_c_l_h_o_g_descriptor.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_detector.xhtml">CLHOGDetector</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> detector based on linear SVM. <a href="classarm__compute_1_1_c_l_h_o_g_detector.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_gradient.xhtml">CLHOGGradient</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to calculate the gradient for <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a>. <a href="classarm__compute_1_1_c_l_h_o_g_gradient.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_h_o_g_multi_detection.xhtml">CLHOGMultiDetection</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to detect multiple objects (or the same object at different scales) on the same input image using <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a>. <a href="classarm__compute_1_1_c_l_h_o_g_multi_detection.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_integral_image.xhtml">CLIntegralImage</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute integral image. <a href="classarm__compute_1_1_c_l_integral_image.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_l2_normalize.xhtml">CLL2Normalize</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Perform reduction operation. <a href="classarm__compute_1_1_c_l_l2_normalize.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_laplacian_pyramid.xhtml">CLLaplacianPyramid</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute laplacian pyramid. <a href="classarm__compute_1_1_c_l_laplacian_pyramid.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_laplacian_reconstruct.xhtml">CLLaplacianReconstruct</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute laplacian reconstruction. <a href="classarm__compute_1_1_c_l_laplacian_reconstruct.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_locally_connected_layer.xhtml">CLLocallyConnectedLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute the locally connected layer. <a href="classarm__compute_1_1_c_l_locally_connected_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_magnitude.xhtml">CLMagnitude</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_magnitude_phase_kernel.xhtml">CLMagnitudePhaseKernel</a>. <a href="classarm__compute_1_1_c_l_magnitude.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_mean_std_dev.xhtml">CLMeanStdDev</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute mean and standard deviation by calling <a class="el" href="classarm__compute_1_1_c_l_mean_std_dev_kernel.xhtml">CLMeanStdDevKernel</a>. <a href="classarm__compute_1_1_c_l_mean_std_dev.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_median3x3.xhtml">CLMedian3x3</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute median filter. <a href="classarm__compute_1_1_c_l_median3x3.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_min_max_location.xhtml">CLMinMaxLocation</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute min and max location. <a href="classarm__compute_1_1_c_l_min_max_location.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_linear_filter.xhtml">CLNonLinearFilter</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute non linear filter. <a href="classarm__compute_1_1_c_l_non_linear_filter.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_non_maxima_suppression3x3.xhtml">CLNonMaximaSuppression3x3</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute non-maxima suppression over a 3x3 window. <a href="classarm__compute_1_1_c_l_non_maxima_suppression3x3.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_normalization_layer.xhtml">CLNormalizationLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to simulate a normalization layer. <a href="classarm__compute_1_1_c_l_normalization_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_optical_flow.xhtml">CLOpticalFlow</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute optical flow. <a href="classarm__compute_1_1_c_l_optical_flow.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_phase.xhtml">CLPhase</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute an <a class="el" href="classarm__compute_1_1_c_l_magnitude_phase_kernel.xhtml">CLMagnitudePhaseKernel</a>. <a href="classarm__compute_1_1_c_l_phase.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pixel_wise_multiplication.xhtml">CLPixelWiseMultiplication</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_pixel_wise_multiplication_kernel.xhtml">CLPixelWiseMultiplicationKernel</a>. <a href="classarm__compute_1_1_c_l_pixel_wise_multiplication.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_pooling_layer.xhtml">CLPoolingLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to simulate a pooling layer with the specified pooling operation. <a href="classarm__compute_1_1_c_l_pooling_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_quantization_layer.xhtml">CLQuantizationLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to simulate a quantization layer. <a href="classarm__compute_1_1_c_l_quantization_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_reduction_operation.xhtml">CLReductionOperation</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Perform reduction operation. <a href="classarm__compute_1_1_c_l_reduction_operation.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_remap.xhtml">CLRemap</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute remap. <a href="classarm__compute_1_1_c_l_remap.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_reshape_layer.xhtml">CLReshapeLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_reshape_layer_kernel.xhtml">CLReshapeLayerKernel</a>. <a href="classarm__compute_1_1_c_l_reshape_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_r_o_i_pooling_layer.xhtml">CLROIPoolingLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_r_o_i_pooling_layer_kernel.xhtml">CLROIPoolingLayerKernel</a>. <a href="classarm__compute_1_1_c_l_r_o_i_pooling_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scale.xhtml">CLScale</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_scale_kernel.xhtml">CLScaleKernel</a>. <a href="classarm__compute_1_1_c_l_scale.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_scharr3x3.xhtml">CLScharr3x3</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute scharr 3x3 filter. <a href="classarm__compute_1_1_c_l_scharr3x3.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel3x3.xhtml">CLSobel3x3</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute sobel 3x3 filter. <a href="classarm__compute_1_1_c_l_sobel3x3.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel5x5.xhtml">CLSobel5x5</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute sobel 5x5 filter. <a href="classarm__compute_1_1_c_l_sobel5x5.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_sobel7x7.xhtml">CLSobel7x7</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute sobel 7x7 filter. <a href="classarm__compute_1_1_c_l_sobel7x7.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_softmax_layer.xhtml">CLSoftmaxLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute a SoftmaxLayer. <a href="classarm__compute_1_1_c_l_softmax_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_table_lookup.xhtml">CLTableLookup</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_table_lookup_kernel.xhtml">CLTableLookupKernel</a>. <a href="classarm__compute_1_1_c_l_table_lookup.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_threshold.xhtml">CLThreshold</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_threshold_kernel.xhtml">CLThresholdKernel</a>. <a href="classarm__compute_1_1_c_l_threshold.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_transpose.xhtml">CLTranspose</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to transpose a matrix on OpenCL. <a href="classarm__compute_1_1_c_l_transpose.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_affine.xhtml">CLWarpAffine</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_warp_affine_kernel.xhtml">CLWarpAffineKernel</a> for AFFINE transformation. <a href="classarm__compute_1_1_c_l_warp_affine.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_l_warp_perspective.xhtml">CLWarpPerspective</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_c_l_warp_perspective_kernel.xhtml">CLWarpPerspectiveKernel</a> for PERSPECTIVE transformation. <a href="classarm__compute_1_1_c_l_warp_perspective.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple_function.xhtml">ICLSimpleFunction</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic interface for functions which have a single OpenCL kernel. <a href="classarm__compute_1_1_i_c_l_simple_function.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_tuner.xhtml">ICLTuner</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic interface for tuning the OpenCL kernels. <a href="classarm__compute_1_1_i_c_l_tuner.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_c_p_p_scheduler.xhtml">CPPScheduler</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">C++11 implementation of a pool of threads to automatically split a kernel's execution among several threads. <a href="classarm__compute_1_1_c_p_p_scheduler.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_distribution1_d.xhtml">Distribution1D</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the 1D distribution interface. <a href="classarm__compute_1_1_distribution1_d.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_g_e_m_m_info.xhtml">GEMMInfo</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">GEMM Information class. <a href="classarm__compute_1_1_g_e_m_m_info.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_h_o_g.xhtml">HOG</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CPU implementation of <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-object. <a href="classarm__compute_1_1_h_o_g.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CPU implementation of <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-object. <a href="classarm__compute_1_1_h_o_g.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_h_o_g_info.xhtml">HOGInfo</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Store the <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a>'s metadata. <a href="classarm__compute_1_1_h_o_g_info.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_access_window.xhtml">IAccessWindow</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface describing methods to update access window and padding based on kernel parameters. <a href="classarm__compute_1_1_i_access_window.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_allocator.xhtml">IAllocator</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_allocator.xhtml" title="Default malloc allocator implementation. ">Allocator</a> interface. <a href="classarm__compute_1_1_i_allocator.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_allocator.xhtml" title="Default malloc allocator implementation. ">Allocator</a> interface. <a href="classarm__compute_1_1_i_allocator.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_array.xhtml" title="Basic implementation of the IArray interface which allocates a static number of T values...">Array</a> of type T. <a href="classarm__compute_1_1_i_array.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for OpenCL <a class="el" href="classarm__compute_1_1_array.xhtml" title="Basic implementation of the IArray interface which allocates a static number of T values...">Array</a>. <a href="classarm__compute_1_1_i_c_l_array.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml">ICLDistribution1D</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml" title="ICLDistribution1D interface class. ">ICLDistribution1D</a> interface class. <a href="classarm__compute_1_1_i_c_l_distribution1_d.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_g_e_m_m_lowp_reduction_kernel.xhtml">ICLGEMMLowpReductionKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Common interface for all OpenCL reduction kernels. <a href="classarm__compute_1_1_i_c_l_g_e_m_m_lowp_reduction_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_h_o_g.xhtml">ICLHOG</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for OpenCL <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-object. <a href="classarm__compute_1_1_i_c_l_h_o_g.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_kernel.xhtml">ICLKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Common interface for all the OpenCL kernels. <a href="classarm__compute_1_1_i_c_l_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_lut.xhtml">ICLLut</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for OpenCL LUT. <a href="classarm__compute_1_1_i_c_l_lut.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_multi_h_o_g.xhtml">ICLMultiHOG</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for storing multiple <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-objects. <a href="classarm__compute_1_1_i_c_l_multi_h_o_g.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_multi_image.xhtml">ICLMultiImage</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for OpenCL multi-planar images. <a href="classarm__compute_1_1_i_c_l_multi_image.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple2_d_kernel.xhtml">ICLSimple2DKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for simple OpenCL kernels having 1 tensor input and 1 tensor output. <a href="classarm__compute_1_1_i_c_l_simple2_d_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple3_d_kernel.xhtml">ICLSimple3DKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for simple OpenCL kernels having 1 tensor input and 1 tensor output. <a href="classarm__compute_1_1_i_c_l_simple3_d_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple_function.xhtml">ICLSimpleFunction</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic interface for functions which have a single OpenCL kernel. <a href="classarm__compute_1_1_i_c_l_simple_function.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_simple_kernel.xhtml">ICLSimpleKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for simple OpenCL kernels having 1 tensor input and 1 tensor output. <a href="classarm__compute_1_1_i_c_l_simple_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml">ICLTensor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for OpenCL tensor. <a href="classarm__compute_1_1_i_c_l_tensor.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_l_tuner.xhtml">ICLTuner</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic interface for tuning the OpenCL kernels. <a href="classarm__compute_1_1_i_c_l_tuner.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_p_p_kernel.xhtml">ICPPKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Common interface for all kernels implemented in C++. <a href="classarm__compute_1_1_i_c_p_p_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_p_p_simple_function.xhtml">ICPPSimpleFunction</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic interface for functions which have a single CPP kernel. <a href="classarm__compute_1_1_i_c_p_p_simple_function.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_p_p_simple_kernel.xhtml">ICPPSimpleKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for simple NEON kernels having 1 tensor input and 1 tensor output. <a href="classarm__compute_1_1_i_c_p_p_simple_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_distribution.xhtml">IDistribution</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for distribution objects. <a href="classarm__compute_1_1_i_distribution.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_distribution1_d.xhtml">IDistribution1D</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">1D Distribution interface <a href="classarm__compute_1_1_i_distribution1_d.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_function.xhtml">IFunction</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Base class for all functions. <a href="classarm__compute_1_1_i_function.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Base class for all functions. <a href="classarm__compute_1_1_i_function.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml">IGCKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Common interface for all the GLES kernels. <a href="classarm__compute_1_1_i_g_c_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_simple2_d_kernel.xhtml">IGCSimple2DKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for simple OpenGL ES kernels having 1 tensor input and 1 tensor output. <a href="classarm__compute_1_1_i_g_c_simple2_d_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_simple3_d_kernel.xhtml">IGCSimple3DKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for simple GLES kernels having 1 tensor input and 1 tensor output. <a href="classarm__compute_1_1_i_g_c_simple3_d_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_simple_function.xhtml">IGCSimpleFunction</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic interface for functions which have a single OpenGL ES kernel. <a href="classarm__compute_1_1_i_g_c_simple_function.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_simple_kernel.xhtml">IGCSimpleKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for simple OpenGL ES kernels having 1 tensor input and 1 tensor output. <a href="classarm__compute_1_1_i_g_c_simple_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for GLES Compute tensor. <a href="classarm__compute_1_1_i_g_c_tensor.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_h_o_g.xhtml">IHOG</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-object. <a href="classarm__compute_1_1_i_h_o_g.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_kernel.xhtml">IKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Common information for all the kernels. <a href="classarm__compute_1_1_i_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_lifetime_manager.xhtml">ILifetimeManager</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for managing the lifetime of objects. <a href="classarm__compute_1_1_i_lifetime_manager.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for managing the lifetime of objects. <a href="classarm__compute_1_1_i_lifetime_manager.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_lut.xhtml">ILut</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Lookup Table object interface. <a href="classarm__compute_1_1_i_lut.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_lut_allocator.xhtml">ILutAllocator</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic interface to allocate LUTs'. <a href="classarm__compute_1_1_i_lut_allocator.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic interface to allocate LUTs'. <a href="classarm__compute_1_1_i_lut_allocator.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_memory_group.xhtml">IMemoryGroup</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Memory group interface. <a href="classarm__compute_1_1_i_memory_group.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> group interface. <a href="classarm__compute_1_1_i_memory_group.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_memory_manager.xhtml">IMemoryManager</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Memory manager interface to handle allocations of backing memory. <a href="classarm__compute_1_1_i_memory_manager.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> manager interface to handle allocations of backing memory. <a href="classarm__compute_1_1_i_memory_manager.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_memory_pool.xhtml">IMemoryPool</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Memory Pool Inteface. <a href="classarm__compute_1_1_i_memory_pool.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> Pool Inteface. <a href="classarm__compute_1_1_i_memory_pool.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_pool_manager.xhtml">IPoolManager</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Memory pool manager interface. <a href="classarm__compute_1_1_i_pool_manager.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for storing multiple <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-objects. <a href="classarm__compute_1_1_i_multi_h_o_g.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_scheduler.xhtml">IScheduler</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_scheduler.xhtml" title="Configurable scheduler which supports multiple multithreading APIs and choosing between different sch...">Scheduler</a> interface to run kernels. <a href="classarm__compute_1_1_i_scheduler.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_multi_image.xhtml">IMultiImage</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for multi-planar images. <a href="classarm__compute_1_1_i_multi_image.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor_allocator.xhtml">ITensorAllocator</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to allocate tensors. <a href="classarm__compute_1_1_i_tensor_allocator.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_n_e_g_e_m_m_lowp_reduction_kernel.xhtml">INEGEMMLowpReductionKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Common interface for all NEON reduction kernels. <a href="classarm__compute_1_1_i_n_e_g_e_m_m_lowp_reduction_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_lut.xhtml">Lut</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the LUT interface. <a href="classarm__compute_1_1_lut.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_lut_allocator.xhtml">LutAllocator</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of a CPU memory LUT allocator. <a href="classarm__compute_1_1_lut_allocator.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_memory_manager_on_demand.xhtml">MemoryManagerOnDemand</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">On-demand memory manager. <a href="classarm__compute_1_1_memory_manager_on_demand.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_multi_h_o_g.xhtml">MultiHOG</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CPU implementation of multi <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-object. <a href="classarm__compute_1_1_multi_h_o_g.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_multi_image.xhtml">MultiImage</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the multi-planar image interface. <a href="classarm__compute_1_1_multi_image.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_absolute_difference.xhtml">NEAbsoluteDifference</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_absolute_difference_kernel.xhtml">NEAbsoluteDifferenceKernel</a>. <a href="classarm__compute_1_1_n_e_absolute_difference.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate.xhtml">NEAccumulate</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_accumulate_kernel.xhtml">NEAccumulateKernel</a>. <a href="classarm__compute_1_1_n_e_accumulate.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted.xhtml">NEAccumulateWeighted</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted_kernel.xhtml">NEAccumulateWeightedKernel</a>. <a href="classarm__compute_1_1_n_e_accumulate_weighted.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_squared.xhtml">NEAccumulateSquared</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_accumulate_squared_kernel.xhtml">NEAccumulateSquaredKernel</a>. <a href="classarm__compute_1_1_n_e_accumulate_squared.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_activation_layer.xhtml">NEActivationLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_activation_layer_kernel.xhtml">NEActivationLayerKernel</a>. <a href="classarm__compute_1_1_n_e_activation_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_addition.xhtml">NEArithmeticAddition</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_arithmetic_addition_kernel.xhtml">NEArithmeticAdditionKernel</a>. <a href="classarm__compute_1_1_n_e_arithmetic_addition.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_subtraction.xhtml">NEArithmeticSubtraction</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_arithmetic_subtraction_kernel.xhtml">NEArithmeticSubtractionKernel</a>. <a href="classarm__compute_1_1_n_e_arithmetic_subtraction.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_batch_normalization_layer.xhtml">NEBatchNormalizationLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_normalization_layer_kernel.xhtml">NENormalizationLayerKernel</a> and simulate a batch normalization layer. <a href="classarm__compute_1_1_n_e_batch_normalization_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_and.xhtml">NEBitwiseAnd</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_bitwise_and_kernel.xhtml">NEBitwiseAndKernel</a>. <a href="classarm__compute_1_1_n_e_bitwise_and.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_not.xhtml">NEBitwiseNot</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_bitwise_not_kernel.xhtml">NEBitwiseNotKernel</a>. <a href="classarm__compute_1_1_n_e_bitwise_not.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_or.xhtml">NEBitwiseOr</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_bitwise_or_kernel.xhtml">NEBitwiseOrKernel</a>. <a href="classarm__compute_1_1_n_e_bitwise_or.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_xor.xhtml">NEBitwiseXor</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_bitwise_xor_kernel.xhtml">NEBitwiseXorKernel</a>. <a href="classarm__compute_1_1_n_e_bitwise_xor.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_box3x3.xhtml">NEBox3x3</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute box filter 3x3. <a href="classarm__compute_1_1_n_e_box3x3.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_canny_edge.xhtml">NECannyEdge</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute canny edge on NEON. <a href="classarm__compute_1_1_n_e_canny_edge.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_combine.xhtml">NEChannelCombine</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_channel_combine_kernel.xhtml">NEChannelCombineKernel</a> to perform channel combination. <a href="classarm__compute_1_1_n_e_channel_combine.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_extract.xhtml">NEChannelExtract</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_channel_extract_kernel.xhtml">NEChannelExtractKernel</a> to perform channel extraction. <a href="classarm__compute_1_1_n_e_channel_extract.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_color_convert.xhtml">NEColorConvert</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_color_convert_kernel.xhtml">NEColorConvertKernel</a> to perform color conversion. <a href="classarm__compute_1_1_n_e_color_convert.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution3x3.xhtml">NEConvolution3x3</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute convolution of size 3x3. <a href="classarm__compute_1_1_n_e_convolution3x3.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute convolution of size 5x5, 7x7, 9x9. <a href="classarm__compute_1_1_n_e_convolution_square.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_rectangle.xhtml">NEConvolutionRectangle</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute non-square convolution. <a href="classarm__compute_1_1_n_e_convolution_rectangle.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_layer_reshape_weights.xhtml">NEConvolutionLayerReshapeWeights</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Function to reshape and perform 1xW transposition on the weights. <a href="classarm__compute_1_1_n_e_convolution_layer_reshape_weights.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_layer.xhtml">NEConvolutionLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to simulate a convolution layer. <a href="classarm__compute_1_1_n_e_convolution_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depth_concatenate.xhtml">NEDepthConcatenate</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute concatenate tensors along z axis. <a href="classarm__compute_1_1_n_e_depth_concatenate.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depth_convert.xhtml">NEDepthConvert</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_depth_convert_kernel.xhtml">NEDepthConvertKernel</a>. <a href="classarm__compute_1_1_n_e_depth_convert.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_dequantization_layer.xhtml">NEDequantizationLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to simulate a dequantization layer. <a href="classarm__compute_1_1_n_e_dequantization_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_derivative.xhtml">NEDerivative</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute first order derivative operator. <a href="classarm__compute_1_1_n_e_derivative.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_dilate.xhtml">NEDilate</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute dilate. <a href="classarm__compute_1_1_n_e_dilate.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_direct_convolution_layer.xhtml">NEDirectConvolutionLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Function to run the direct convolution. <a href="classarm__compute_1_1_n_e_direct_convolution_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_equalize_histogram.xhtml">NEEqualizeHistogram</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute histogram equalization. <a href="classarm__compute_1_1_n_e_equalize_histogram.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_erode.xhtml">NEErode</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute erode. <a href="classarm__compute_1_1_n_e_erode.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fast_corners.xhtml">NEFastCorners</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute fast corners. <a href="classarm__compute_1_1_n_e_fast_corners.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fill_border.xhtml">NEFillBorder</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_fill_border_kernel.xhtml">NEFillBorderKernel</a>. <a href="classarm__compute_1_1_n_e_fill_border.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_flatten_layer.xhtml">NEFlattenLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute flatten. <a href="classarm__compute_1_1_n_e_flatten_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_floor.xhtml">NEFloor</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_floor_kernel.xhtml">NEFloorKernel</a>. <a href="classarm__compute_1_1_n_e_floor.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fully_connected_layer_reshape_weights.xhtml">NEFullyConnectedLayerReshapeWeights</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to reshape the weights of Fully Connected layer with NEON. <a href="classarm__compute_1_1_n_e_fully_connected_layer_reshape_weights.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fully_connected_layer.xhtml">NEFullyConnectedLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute a Fully Connected layer on NEON. <a href="classarm__compute_1_1_n_e_fully_connected_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian3x3.xhtml">NEGaussian3x3</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute gaussian filter 3x3. <a href="classarm__compute_1_1_n_e_gaussian3x3.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian5x5.xhtml">NEGaussian5x5</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute gaussian filter 5x5. <a href="classarm__compute_1_1_n_e_gaussian5x5.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid.xhtml">NEGaussianPyramid</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Common interface for all Gaussian pyramid functions. <a href="classarm__compute_1_1_n_e_gaussian_pyramid.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid_half.xhtml">NEGaussianPyramidHalf</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute gaussian pyramid with HALF scale factor. <a href="classarm__compute_1_1_n_e_gaussian_pyramid_half.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid_orb.xhtml">NEGaussianPyramidOrb</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute gaussian pyramid with ORB scale factor. <a href="classarm__compute_1_1_n_e_gaussian_pyramid_orb.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m.xhtml">NEGEMM</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute GEMM on NEON. <a href="classarm__compute_1_1_n_e_g_e_m_m.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4.xhtml">NEGEMMInterleave4x4</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4_kernel.xhtml" title="NEON kernel to interleave the elements of a matrix. ">NEGEMMInterleave4x4Kernel</a>. <a href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp.xhtml">NEGEMMLowp</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute GEMMLowp on NEON. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w.xhtml">NEGEMMTranspose1xW</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w_kernel.xhtml" title="NEON kernel which transposes the elements of a matrix in chunks of 1xW, where W is equal to (16 / ele...">NEGEMMTranspose1xWKernel</a>. <a href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_harris_corners.xhtml">NEHarrisCorners</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute harris corners detection. <a href="classarm__compute_1_1_n_e_harris_corners.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_histogram.xhtml">NEHistogram</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_histogram_kernel.xhtml">NEHistogramKernel</a>. <a href="classarm__compute_1_1_n_e_histogram.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_descriptor.xhtml">NEHOGDescriptor</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to calculate <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> descriptor. <a href="classarm__compute_1_1_n_e_h_o_g_descriptor.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_detector.xhtml">NEHOGDetector</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> detector based on linear SVM. <a href="classarm__compute_1_1_n_e_h_o_g_detector.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_gradient.xhtml">NEHOGGradient</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to calculate the gradient for <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a>. <a href="classarm__compute_1_1_n_e_h_o_g_gradient.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_multi_detection.xhtml">NEHOGMultiDetection</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to detect multiple objects (or the same object at different scales) on the same input image using <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a>. <a href="classarm__compute_1_1_n_e_h_o_g_multi_detection.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_integral_image.xhtml">NEIntegralImage</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run a <a class="el" href="classarm__compute_1_1_n_e_integral_image_kernel.xhtml">NEIntegralImageKernel</a>. <a href="classarm__compute_1_1_n_e_integral_image.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_l2_normalize.xhtml">NEL2Normalize</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to perform a L2 normalization on a given axis. <a href="classarm__compute_1_1_n_e_l2_normalize.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_laplacian_pyramid.xhtml">NELaplacianPyramid</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute laplacian pyramid. <a href="classarm__compute_1_1_n_e_laplacian_pyramid.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_laplacian_reconstruct.xhtml">NELaplacianReconstruct</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute laplacian reconstruction. <a href="classarm__compute_1_1_n_e_laplacian_reconstruct.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_locally_connected_layer.xhtml">NELocallyConnectedLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute the locally connected layer. <a href="classarm__compute_1_1_n_e_locally_connected_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_magnitude.xhtml">NEMagnitude</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml" title="Template interface for the kernel to compute magnitude and phase. ">NEMagnitudePhaseKernel</a>. <a href="classarm__compute_1_1_n_e_magnitude.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_mean_std_dev.xhtml">NEMeanStdDev</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute mean and std deviation. <a href="classarm__compute_1_1_n_e_mean_std_dev.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_median3x3.xhtml">NEMedian3x3</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute median filter. <a href="classarm__compute_1_1_n_e_median3x3.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_min_max_location.xhtml">NEMinMaxLocation</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute min and max location. <a href="classarm__compute_1_1_n_e_min_max_location.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_linear_filter.xhtml">NENonLinearFilter</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute non linear filter. <a href="classarm__compute_1_1_n_e_non_linear_filter.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_maxima_suppression3x3.xhtml">NENonMaximaSuppression3x3</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute non-maxima suppression over a 3x3 window. <a href="classarm__compute_1_1_n_e_non_maxima_suppression3x3.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_normalization_layer.xhtml">NENormalizationLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to simulate a normalization layer. <a href="classarm__compute_1_1_n_e_normalization_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_optical_flow.xhtml">NEOpticalFlow</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute optical flow. <a href="classarm__compute_1_1_n_e_optical_flow.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_phase.xhtml">NEPhase</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml" title="Template interface for the kernel to compute magnitude and phase. ">NEMagnitudePhaseKernel</a>. <a href="classarm__compute_1_1_n_e_phase.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication.xhtml">NEPixelWiseMultiplication</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a>. <a href="classarm__compute_1_1_n_e_pixel_wise_multiplication.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pooling_layer.xhtml">NEPoolingLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to simulate a pooling layer with the specified pooling operation. <a href="classarm__compute_1_1_n_e_pooling_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_quantization_layer.xhtml">NEQuantizationLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to simulate a quantization layer. <a href="classarm__compute_1_1_n_e_quantization_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_reduction_operation.xhtml">NEReductionOperation</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to simulate a reduction operation. <a href="classarm__compute_1_1_n_e_reduction_operation.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_remap.xhtml">NERemap</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute remap. <a href="classarm__compute_1_1_n_e_remap.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_reshape_layer.xhtml">NEReshapeLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_reshape_layer_kernel.xhtml">NEReshapeLayerKernel</a>. <a href="classarm__compute_1_1_n_e_reshape_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_r_o_i_pooling_layer.xhtml">NEROIPoolingLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_r_o_i_pooling_layer_kernel.xhtml">NEROIPoolingLayerKernel</a>. <a href="classarm__compute_1_1_n_e_r_o_i_pooling_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_scale.xhtml">NEScale</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_scale_kernel.xhtml">NEScaleKernel</a>. <a href="classarm__compute_1_1_n_e_scale.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_scharr3x3.xhtml">NEScharr3x3</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute scharr 3x3 filter. <a href="classarm__compute_1_1_n_e_scharr3x3.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel3x3.xhtml">NESobel3x3</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute sobel 3x3 filter. <a href="classarm__compute_1_1_n_e_sobel3x3.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel5x5.xhtml">NESobel5x5</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute sobel 5x5 filter. <a href="classarm__compute_1_1_n_e_sobel5x5.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel7x7.xhtml">NESobel7x7</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute sobel 7x7 filter. <a href="classarm__compute_1_1_n_e_sobel7x7.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_softmax_layer.xhtml">NESoftmaxLayer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute a SoftmaxLayer. <a href="classarm__compute_1_1_n_e_softmax_layer.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_table_lookup.xhtml">NETableLookup</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_table_lookup_kernel.xhtml">NETableLookupKernel</a>. <a href="classarm__compute_1_1_n_e_table_lookup.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_threshold.xhtml">NEThreshold</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_threshold_kernel.xhtml">NEThresholdKernel</a>. <a href="classarm__compute_1_1_n_e_threshold.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_transpose.xhtml">NETranspose</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to transpose a matrix on NEON. <a href="classarm__compute_1_1_n_e_transpose.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_warp_affine.xhtml">NEWarpAffine</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_warp_affine_kernel.xhtml">NEWarpAffineKernel</a>. <a href="classarm__compute_1_1_n_e_warp_affine.xhtml#details">More...</a><br/></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_warp_perspective.xhtml">NEWarpPerspective</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_warp_perspective_kernel.xhtml">NEWarpPerspectiveKernel</a>. <a href="classarm__compute_1_1_n_e_warp_perspective.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_n_e_harris_score_kernel.xhtml">INEHarrisScoreKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Common interface for all Harris Score kernels. <a href="classarm__compute_1_1_i_n_e_harris_score_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_n_e_simple_function.xhtml">INESimpleFunction</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic interface for functions which have a single NEON kernel. <a href="classarm__compute_1_1_i_n_e_simple_function.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic interface for functions which have a single NEON kernel. <a href="classarm__compute_1_1_i_n_e_simple_function.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_o_m_p_scheduler.xhtml">OMPScheduler</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Pool of threads to automatically split a kernel's execution among several threads. <a href="classarm__compute_1_1_o_m_p_scheduler.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_n_e_warp_kernel.xhtml">INEWarpKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Common interface for warp affine and warp perspective. <a href="classarm__compute_1_1_i_n_e_warp_kernel.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pool_manager.xhtml">PoolManager</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Memory pool manager. <a href="classarm__compute_1_1_pool_manager.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_i_o_format_info.xhtml">IOFormatInfo</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">IO formatting information class. <a href="structarm__compute_1_1_i_o_format_info.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pyramid.xhtml">Pyramid</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the pyramid interface. <a href="classarm__compute_1_1_pyramid.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_pool_manager.xhtml">IPoolManager</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> pool manager interface. <a href="classarm__compute_1_1_i_pool_manager.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_scheduler.xhtml">Scheduler</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Configurable scheduler which supports multiple multithreading APIs and choosing between different schedulers at runtime. <a href="classarm__compute_1_1_scheduler.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_pyramid.xhtml">IPyramid</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for pyramid data-object. <a href="classarm__compute_1_1_i_pyramid.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_single_thread_scheduler.xhtml">SingleThreadScheduler</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Pool of threads to automatically split a kernel's execution among several threads. <a href="classarm__compute_1_1_single_thread_scheduler.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_scheduler.xhtml">IScheduler</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_scheduler.xhtml" title="Configurable scheduler which supports multiple multithreading APIs and choosing between different sch...">Scheduler</a> interface to run kernels. <a href="classarm__compute_1_1_i_scheduler.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_sub_tensor.xhtml">SubTensor</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the sub-tensor interface. <a href="classarm__compute_1_1_sub_tensor.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_simple_lifetime_manager.xhtml">ISimpleLifetimeManager</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Abstract class of the simple lifetime manager interface. <a href="classarm__compute_1_1_i_simple_lifetime_manager.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the tensor interface. <a href="classarm__compute_1_1_tensor.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for NEON tensor. <a href="classarm__compute_1_1_i_tensor.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_tensor_allocator.xhtml">TensorAllocator</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of a CPU memory tensor allocator. <a href="classarm__compute_1_1_tensor_allocator.xhtml#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor_allocator.xhtml">ITensorAllocator</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to allocate tensors. <a href="classarm__compute_1_1_i_tensor_allocator.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Store the tensor's metadata. <a href="classarm__compute_1_1_i_tensor_info.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_iterator.xhtml">Iterator</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_iterator.xhtml" title="Iterator updated by execute_window_loop for each window element. ">Iterator</a> updated by <a class="el" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a> for each window element. <a href="classarm__compute_1_1_iterator.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_kernel.xhtml">Kernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> class. <a href="classarm__compute_1_1_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="struct_keypoint.xhtml">Keypoint</a> type. <a href="structarm__compute_1_1_key_point.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_lut.xhtml">Lut</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the LUT interface. <a href="classarm__compute_1_1_lut.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_lut_allocator.xhtml">LutAllocator</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of a CPU memory LUT allocator. <a href="classarm__compute_1_1_lut_allocator.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_memory.xhtml">Memory</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CPU implementation of memory object. <a href="classarm__compute_1_1_memory.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_memory_group_base.xhtml">MemoryGroupBase</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> group. <a href="classarm__compute_1_1_memory_group_base.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_memory_manager_on_demand.xhtml">MemoryManagerOnDemand</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">On-demand memory manager. <a href="classarm__compute_1_1_memory_manager_on_demand.xhtml#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_min_max_location_values.xhtml">MinMaxLocationValues</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_multi_h_o_g.xhtml">MultiHOG</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CPU implementation of multi <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data-object. <a href="classarm__compute_1_1_multi_h_o_g.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_multi_image.xhtml">MultiImage</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the multi-planar image interface. <a href="classarm__compute_1_1_multi_image.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_multi_image_info.xhtml">MultiImageInfo</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Store the multi-planar image's metadata. <a href="classarm__compute_1_1_multi_image_info.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_absolute_difference.xhtml">NEAbsoluteDifference</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_absolute_difference_kernel.xhtml">NEAbsoluteDifferenceKernel</a>. <a href="classarm__compute_1_1_n_e_absolute_difference.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_absolute_difference_kernel.xhtml">NEAbsoluteDifferenceKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the absolute difference kernel. <a href="classarm__compute_1_1_n_e_absolute_difference_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate.xhtml">NEAccumulate</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_accumulate_kernel.xhtml">NEAccumulateKernel</a>. <a href="classarm__compute_1_1_n_e_accumulate.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_kernel.xhtml">NEAccumulateKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the accumulate kernel. <a href="classarm__compute_1_1_n_e_accumulate_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_squared.xhtml">NEAccumulateSquared</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_accumulate_squared_kernel.xhtml">NEAccumulateSquaredKernel</a>. <a href="classarm__compute_1_1_n_e_accumulate_squared.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_squared_kernel.xhtml">NEAccumulateSquaredKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the accumulate squared kernel. <a href="classarm__compute_1_1_n_e_accumulate_squared_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted.xhtml">NEAccumulateWeighted</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted_kernel.xhtml">NEAccumulateWeightedKernel</a>. <a href="classarm__compute_1_1_n_e_accumulate_weighted.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted_kernel.xhtml">NEAccumulateWeightedKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the accumulate weighted kernel. <a href="classarm__compute_1_1_n_e_accumulate_weighted_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_activation_layer.xhtml">NEActivationLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_activation_layer_kernel.xhtml">NEActivationLayerKernel</a>. <a href="classarm__compute_1_1_n_e_activation_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_activation_layer_kernel.xhtml">NEActivationLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the activation layer kernel. <a href="classarm__compute_1_1_n_e_activation_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_addition.xhtml">NEArithmeticAddition</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_arithmetic_addition_kernel.xhtml">NEArithmeticAdditionKernel</a>. <a href="classarm__compute_1_1_n_e_arithmetic_addition.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_addition_kernel.xhtml">NEArithmeticAdditionKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform addition between two tensors. <a href="classarm__compute_1_1_n_e_arithmetic_addition_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_subtraction.xhtml">NEArithmeticSubtraction</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_arithmetic_subtraction_kernel.xhtml">NEArithmeticSubtractionKernel</a>. <a href="classarm__compute_1_1_n_e_arithmetic_subtraction.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_arithmetic_subtraction_kernel.xhtml">NEArithmeticSubtractionKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform subtraction between two tensors. <a href="classarm__compute_1_1_n_e_arithmetic_subtraction_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_batch_normalization_layer.xhtml">NEBatchNormalizationLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_normalization_layer_kernel.xhtml">NENormalizationLayerKernel</a> and simulate a batch normalization layer. <a href="classarm__compute_1_1_n_e_batch_normalization_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_batch_normalization_layer_kernel.xhtml">NEBatchNormalizationLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the batch normalization layer kernel. <a href="classarm__compute_1_1_n_e_batch_normalization_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_and.xhtml">NEBitwiseAnd</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_bitwise_and_kernel.xhtml">NEBitwiseAndKernel</a>. <a href="classarm__compute_1_1_n_e_bitwise_and.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_and_kernel.xhtml">NEBitwiseAndKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform bitwise AND between XY-planes of two tensors. <a href="classarm__compute_1_1_n_e_bitwise_and_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_not.xhtml">NEBitwiseNot</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_bitwise_not_kernel.xhtml">NEBitwiseNotKernel</a>. <a href="classarm__compute_1_1_n_e_bitwise_not.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_not_kernel.xhtml">NEBitwiseNotKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform bitwise NOT operation. <a href="classarm__compute_1_1_n_e_bitwise_not_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_or.xhtml">NEBitwiseOr</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_bitwise_or_kernel.xhtml">NEBitwiseOrKernel</a>. <a href="classarm__compute_1_1_n_e_bitwise_or.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_or_kernel.xhtml">NEBitwiseOrKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform bitwise inclusive OR between two tensors. <a href="classarm__compute_1_1_n_e_bitwise_or_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_xor.xhtml">NEBitwiseXor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_bitwise_xor_kernel.xhtml">NEBitwiseXorKernel</a>. <a href="classarm__compute_1_1_n_e_bitwise_xor.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_bitwise_xor_kernel.xhtml">NEBitwiseXorKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform bitwise exclusive OR (XOR) between two tensors. <a href="classarm__compute_1_1_n_e_bitwise_xor_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_box3x3.xhtml">NEBox3x3</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute box filter 3x3. <a href="classarm__compute_1_1_n_e_box3x3.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_box3x3_kernel.xhtml">NEBox3x3Kernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform a Box 3x3 filter. <a href="classarm__compute_1_1_n_e_box3x3_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_canny_edge.xhtml">NECannyEdge</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute canny edge on NEON. <a href="classarm__compute_1_1_n_e_canny_edge.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_combine.xhtml">NEChannelCombine</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_channel_combine_kernel.xhtml">NEChannelCombineKernel</a> to perform channel combination. <a href="classarm__compute_1_1_n_e_channel_combine.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_combine_kernel.xhtml">NEChannelCombineKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the channel combine kernel. <a href="classarm__compute_1_1_n_e_channel_combine_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_extract.xhtml">NEChannelExtract</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_channel_extract_kernel.xhtml">NEChannelExtractKernel</a> to perform channel extraction. <a href="classarm__compute_1_1_n_e_channel_extract.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_channel_extract_kernel.xhtml">NEChannelExtractKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the channel extract kernel. <a href="classarm__compute_1_1_n_e_channel_extract_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_col2_im.xhtml">NECol2Im</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_col2_im.xhtml">NECol2Im</a>. <a href="classarm__compute_1_1_n_e_col2_im.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_col2_im_kernel.xhtml">NECol2ImKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform col2im reshaping. <a href="classarm__compute_1_1_n_e_col2_im_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_color_convert.xhtml">NEColorConvert</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_color_convert_kernel.xhtml">NEColorConvertKernel</a> to perform color conversion. <a href="classarm__compute_1_1_n_e_color_convert.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_color_convert_kernel.xhtml">NEColorConvertKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the color convert kernel. <a href="classarm__compute_1_1_n_e_color_convert_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution3x3.xhtml">NEConvolution3x3</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute convolution of size 3x3. <a href="classarm__compute_1_1_n_e_convolution3x3.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run an arbitrary size convolution on a tensor. <a href="classarm__compute_1_1_n_e_convolution_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_layer.xhtml">NEConvolutionLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to simulate a convolution layer. <a href="classarm__compute_1_1_n_e_convolution_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_layer_reshape_weights.xhtml">NEConvolutionLayerReshapeWeights</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Function to reshape and perform 1xW transposition on the weights. <a href="classarm__compute_1_1_n_e_convolution_layer_reshape_weights.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_rectangle.xhtml">NEConvolutionRectangle</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute non-square convolution. <a href="classarm__compute_1_1_n_e_convolution_rectangle.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_rectangle_kernel.xhtml">NEConvolutionRectangleKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the running convolution on a rectangle matrix. <a href="classarm__compute_1_1_n_e_convolution_rectangle_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute convolution of size 5x5, 7x7, 9x9. <a href="classarm__compute_1_1_n_e_convolution_square.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_cumulative_distribution_kernel.xhtml">NECumulativeDistributionKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the cumulative distribution (cummulative summmation) calculation kernel. <a href="classarm__compute_1_1_n_e_cumulative_distribution_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_deconvolution_layer.xhtml">NEDeconvolutionLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Function to run the deconvolution layer. <a href="classarm__compute_1_1_n_e_deconvolution_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_deconvolution_layer_upsample.xhtml">NEDeconvolutionLayerUpsample</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_deconvolution_layer_upsample_kernel.xhtml">NEDeconvolutionLayerUpsampleKernel</a>. <a href="classarm__compute_1_1_n_e_deconvolution_layer_upsample.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_deconvolution_layer_upsample_kernel.xhtml">NEDeconvolutionLayerUpsampleKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform scaling on a tensor. <a href="classarm__compute_1_1_n_e_deconvolution_layer_upsample_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depth_concatenate_layer.xhtml">NEDepthConcatenateLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute concatenate tensors along z axis. <a href="classarm__compute_1_1_n_e_depth_concatenate_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depth_concatenate_layer_kernel.xhtml">NEDepthConcatenateLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the depth concatenate kernel. <a href="classarm__compute_1_1_n_e_depth_concatenate_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depth_convert_layer.xhtml">NEDepthConvertLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_depth_convert_layer_kernel.xhtml">NEDepthConvertLayerKernel</a>. <a href="classarm__compute_1_1_n_e_depth_convert_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depth_convert_layer_kernel.xhtml">NEDepthConvertLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Depth conversion kernel. <a href="classarm__compute_1_1_n_e_depth_convert_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depthwise_convolution_layer.xhtml">NEDepthwiseConvolutionLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute a generic depthwise convolution. <a href="classarm__compute_1_1_n_e_depthwise_convolution_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depthwise_convolution_layer3x3.xhtml">NEDepthwiseConvolutionLayer3x3</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute a depthwise convolution for kernel size 3x3xC. <a href="classarm__compute_1_1_n_e_depthwise_convolution_layer3x3.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depthwise_convolution_layer3x3_kernel.xhtml">NEDepthwiseConvolutionLayer3x3Kernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run a 3x3 depthwise convolution on a tensor. <a href="classarm__compute_1_1_n_e_depthwise_convolution_layer3x3_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depthwise_im2_col_kernel.xhtml">NEDepthwiseIm2ColKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the depthwise im2col reshape kernel. <a href="classarm__compute_1_1_n_e_depthwise_im2_col_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depthwise_separable_convolution_layer.xhtml">NEDepthwiseSeparableConvolutionLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute depthwise convolution. <a href="classarm__compute_1_1_n_e_depthwise_separable_convolution_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depthwise_vector_to_tensor_kernel.xhtml">NEDepthwiseVectorToTensorKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the depthwise vector to tensor kernel. <a href="classarm__compute_1_1_n_e_depthwise_vector_to_tensor_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_depthwise_weights_reshape_kernel.xhtml">NEDepthwiseWeightsReshapeKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the depthwise weights reshape kernel. <a href="classarm__compute_1_1_n_e_depthwise_weights_reshape_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_dequantization_layer.xhtml">NEDequantizationLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to simulate a dequantization layer. <a href="classarm__compute_1_1_n_e_dequantization_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_dequantization_layer_kernel.xhtml">NEDequantizationLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the dequantization layer kernel. <a href="classarm__compute_1_1_n_e_dequantization_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_derivative.xhtml">NEDerivative</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute first order derivative operator. <a href="classarm__compute_1_1_n_e_derivative.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_derivative_kernel.xhtml">NEDerivativeKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the derivative along the X/Y directions on a tensor. <a href="classarm__compute_1_1_n_e_derivative_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_dilate.xhtml">NEDilate</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute dilate. <a href="classarm__compute_1_1_n_e_dilate.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_dilate_kernel.xhtml">NEDilateKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform boolean image dilatation. <a href="classarm__compute_1_1_n_e_dilate_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_direct_convolution_layer.xhtml">NEDirectConvolutionLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Function to run the direct convolution. <a href="classarm__compute_1_1_n_e_direct_convolution_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_direct_convolution_layer_bias_accumulate_kernel.xhtml">NEDirectConvolutionLayerBiasAccumulateKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to accumulate the biases to each element of the input tensor. <a href="classarm__compute_1_1_n_e_direct_convolution_layer_bias_accumulate_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_direct_convolution_layer_kernel.xhtml">NEDirectConvolutionLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON interface for Direct Convolution Layer kernel. <a href="classarm__compute_1_1_n_e_direct_convolution_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_edge_non_max_suppression_kernel.xhtml">NEEdgeNonMaxSuppressionKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform Non-Maxima suppression for Canny Edge. <a href="classarm__compute_1_1_n_e_edge_non_max_suppression_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_edge_trace_kernel.xhtml">NEEdgeTraceKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform Edge tracing. <a href="classarm__compute_1_1_n_e_edge_trace_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_equalize_histogram.xhtml">NEEqualizeHistogram</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute histogram equalization. <a href="classarm__compute_1_1_n_e_equalize_histogram.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_erode.xhtml">NEErode</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute erode. <a href="classarm__compute_1_1_n_e_erode.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_erode_kernel.xhtml">NEErodeKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform boolean image erosion. <a href="classarm__compute_1_1_n_e_erode_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fast_corners.xhtml">NEFastCorners</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute fast corners. <a href="classarm__compute_1_1_n_e_fast_corners.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fast_corners_kernel.xhtml">NEFastCornersKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform fast corners. <a href="classarm__compute_1_1_n_e_fast_corners_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fill_array_kernel.xhtml">NEFillArrayKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">This kernel adds all texels greater than or equal to the threshold value to the keypoint array. <a href="classarm__compute_1_1_n_e_fill_array_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fill_border.xhtml">NEFillBorder</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_fill_border_kernel.xhtml">NEFillBorderKernel</a>. <a href="classarm__compute_1_1_n_e_fill_border.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fill_border_kernel.xhtml">NEFillBorderKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to fill borders. <a href="classarm__compute_1_1_n_e_fill_border_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fill_inner_border_kernel.xhtml">NEFillInnerBorderKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to fill the interior borders. <a href="classarm__compute_1_1_n_e_fill_inner_border_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_flatten_layer.xhtml">NEFlattenLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute flatten. <a href="classarm__compute_1_1_n_e_flatten_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_floor.xhtml">NEFloor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_floor_kernel.xhtml">NEFloorKernel</a>. <a href="classarm__compute_1_1_n_e_floor.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_floor_kernel.xhtml">NEFloorKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform a floor operation. <a href="classarm__compute_1_1_n_e_floor_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fully_connected_layer.xhtml">NEFullyConnectedLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute a Fully Connected layer on NEON. <a href="classarm__compute_1_1_n_e_fully_connected_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_fully_connected_layer_reshape_weights.xhtml">NEFullyConnectedLayerReshapeWeights</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to reshape the weights of Fully Connected layer with NEON. <a href="classarm__compute_1_1_n_e_fully_connected_layer_reshape_weights.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian3x3.xhtml">NEGaussian3x3</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute gaussian filter 3x3. <a href="classarm__compute_1_1_n_e_gaussian3x3.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian3x3_kernel.xhtml">NEGaussian3x3Kernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform a Gaussian 3x3 filter. <a href="classarm__compute_1_1_n_e_gaussian3x3_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian5x5.xhtml">NEGaussian5x5</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute gaussian filter 5x5. <a href="classarm__compute_1_1_n_e_gaussian5x5.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian5x5_hor_kernel.xhtml">NEGaussian5x5HorKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform a Gaussian 5x5 filter (horizontal pass) <a href="classarm__compute_1_1_n_e_gaussian5x5_hor_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian5x5_vert_kernel.xhtml">NEGaussian5x5VertKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform a Gaussian 5x5 filter (vertical pass) <a href="classarm__compute_1_1_n_e_gaussian5x5_vert_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid.xhtml">NEGaussianPyramid</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Common interface for all Gaussian pyramid functions. <a href="classarm__compute_1_1_n_e_gaussian_pyramid.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid_half.xhtml">NEGaussianPyramidHalf</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute gaussian pyramid with HALF scale factor. <a href="classarm__compute_1_1_n_e_gaussian_pyramid_half.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid_hor_kernel.xhtml">NEGaussianPyramidHorKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform a GaussianPyramid (horizontal pass) <a href="classarm__compute_1_1_n_e_gaussian_pyramid_hor_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid_orb.xhtml">NEGaussianPyramidOrb</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute gaussian pyramid with ORB scale factor. <a href="classarm__compute_1_1_n_e_gaussian_pyramid_orb.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gaussian_pyramid_vert_kernel.xhtml">NEGaussianPyramidVertKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform a GaussianPyramid (vertical pass) <a href="classarm__compute_1_1_n_e_gaussian_pyramid_vert_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m.xhtml">NEGEMM</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute GEMM on NEON. <a href="classarm__compute_1_1_n_e_g_e_m_m.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_a_arch32_kernel.xhtml">NEGEMMAArch32Kernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">AArch32/armv7a NEON kernel to multiply two input matrices "A" and "B". <a href="classarm__compute_1_1_n_e_g_e_m_m_a_arch32_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_a_arch64_kernel.xhtml">NEGEMMAArch64Kernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">AArch64 NEON kernel to multiply two input matrices "A" and "B". <a href="classarm__compute_1_1_n_e_g_e_m_m_a_arch64_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_assembly_base_kernel.xhtml">NEGEMMAssemblyBaseKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Base class for GEMM NEON kernels implemented in Assembly. <a href="classarm__compute_1_1_n_e_g_e_m_m_assembly_base_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4.xhtml">NEGEMMInterleave4x4</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4_kernel.xhtml" title="NEON kernel to interleave the elements of a matrix. ">NEGEMMInterleave4x4Kernel</a>. <a href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4_kernel.xhtml">NEGEMMInterleave4x4Kernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to interleave the elements of a matrix. <a href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_interleave_blocked_kernel.xhtml">NEGEMMInterleaveBlockedKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to interleave the elements of a matrix. <a href="classarm__compute_1_1_n_e_g_e_m_m_interleave_blocked_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_a_arch64_a53_kernel.xhtml">NEGEMMLowpAArch64A53Kernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">AArch64 NEON kernel to multiply two input matrices "A" and "B". <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_a_arch64_a53_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_a_arch64_kernel.xhtml">NEGEMMLowpAArch64Kernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">AArch64 NEON kernel to multiply two input matrices "A" and "B". <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_a_arch64_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_a_arch64_v8_p4_kernel.xhtml">NEGEMMLowpAArch64V8P4Kernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">AArch64 NEON kernel to multiply two input matrices "A" and "B". <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_a_arch64_v8_p4_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_assembly_matrix_multiply_core.xhtml">NEGEMMLowpAssemblyMatrixMultiplyCore</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute matrix multiply assembly kernels. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_assembly_matrix_multiply_core.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_a_reduction_kernel.xhtml">NEGEMMLowpMatrixAReductionKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel used to compute the row-vectors of sums of all the entries in each row of Matrix A. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_a_reduction_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_b_reduction_kernel.xhtml">NEGEMMLowpMatrixBReductionKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel used to compute the row-vectors of sums of all the entries in each column of Matrix B. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_b_reduction_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_multiply_core.xhtml">NEGEMMLowpMatrixMultiplyCore</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute GEMMLowpMatrixMultiplyCore on NEON. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_multiply_core.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_multiply_kernel.xhtml">NEGEMMLowpMatrixMultiplyKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to multiply matrices. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_multiply_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_offset_contribution_kernel.xhtml">NEGEMMLowpOffsetContributionKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel used to add the offset contribution after <a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_multiply_kernel.xhtml">NEGEMMLowpMatrixMultiplyKernel</a>. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_offset_contribution_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale.xhtml">NEGEMMLowpQuantizeDownInt32ToUint8Scale</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale.xhtml" title="Basic function to execute NEGEMMLowpQuantizeDownInt32ToUint8Scale on NEON. ">NEGEMMLowpQuantizeDownInt32ToUint8Scale</a> on NEON. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point.xhtml">NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point.xhtml" title="Basic function to execute NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint on NEON. ">NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint</a> on NEON. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel.xhtml">NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel used to quantize down the int32 accumulator values of GEMMLowp to QASYMM8. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_kernel.xhtml">NEGEMMLowpQuantizeDownInt32ToUint8ScaleKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel used to quantize down the int32 accumulator values of GEMMLowp to QASYMM8. <a href="classarm__compute_1_1_n_e_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_matrix_accumulate_biases_kernel.xhtml">NEGEMMMatrixAccumulateBiasesKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to add a bias to each row of the input tensor. <a href="classarm__compute_1_1_n_e_g_e_m_m_matrix_accumulate_biases_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_matrix_addition_kernel.xhtml">NEGEMMMatrixAdditionKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform the in-place matrix addition between 2 matrices taking into account that the second matrix might be weighted by a scalar value beta: <a href="classarm__compute_1_1_n_e_g_e_m_m_matrix_addition_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_matrix_multiply_kernel.xhtml">NEGEMMMatrixMultiplyKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to multiply two input matrices "A" and "B". <a href="classarm__compute_1_1_n_e_g_e_m_m_matrix_multiply_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_matrix_vector_multiply_kernel.xhtml">NEGEMMMatrixVectorMultiplyKernel</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w.xhtml">NEGEMMTranspose1xW</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w_kernel.xhtml" title="NEON kernel which transposes the elements of a matrix in chunks of 1xW, where W is equal to (16 / ele...">NEGEMMTranspose1xWKernel</a>. <a href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w_kernel.xhtml">NEGEMMTranspose1xWKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel which transposes the elements of a matrix in chunks of 1xW, where W is equal to (16 / element size of the tensor) <a href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_gradient_kernel.xhtml">NEGradientKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Computes magnitude and quantised phase from inputs gradients. <a href="classarm__compute_1_1_n_e_gradient_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_harris_corners.xhtml">NEHarrisCorners</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute harris corners detection. <a href="classarm__compute_1_1_n_e_harris_corners.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_harris_score_kernel.xhtml">NEHarrisScoreKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Template NEON kernel to perform Harris Score. <a href="classarm__compute_1_1_n_e_harris_score_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_g_e_m_m_a_arch64_f_p16_kernel.xhtml">NEHGEMMAArch64FP16Kernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">AArch64 NEON kernel to multiply two input matrices "A" and "B". <a href="classarm__compute_1_1_n_e_h_g_e_m_m_a_arch64_f_p16_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_histogram.xhtml">NEHistogram</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_histogram_kernel.xhtml">NEHistogramKernel</a>. <a href="classarm__compute_1_1_n_e_histogram.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_histogram_kernel.xhtml">NEHistogramKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the histogram kernel. <a href="classarm__compute_1_1_n_e_histogram_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_block_normalization_kernel.xhtml">NEHOGBlockNormalizationKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> block normalization. <a href="classarm__compute_1_1_n_e_h_o_g_block_normalization_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_descriptor.xhtml">NEHOGDescriptor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to calculate <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> descriptor. <a href="classarm__compute_1_1_n_e_h_o_g_descriptor.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_detector.xhtml">NEHOGDetector</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> detector based on linear SVM. <a href="classarm__compute_1_1_n_e_h_o_g_detector.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_detector_kernel.xhtml">NEHOGDetectorKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> detector kernel using linear SVM. <a href="classarm__compute_1_1_n_e_h_o_g_detector_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_gradient.xhtml">NEHOGGradient</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to calculate the gradient for <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a>. <a href="classarm__compute_1_1_n_e_h_o_g_gradient.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_multi_detection.xhtml">NEHOGMultiDetection</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to detect multiple objects (or the same object at different scales) on the same input image using <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a>. <a href="classarm__compute_1_1_n_e_h_o_g_multi_detection.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_h_o_g_orientation_binning_kernel.xhtml">NEHOGOrientationBinningKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> Orientation Binning. <a href="classarm__compute_1_1_n_e_h_o_g_orientation_binning_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_im2_col.xhtml">NEIm2Col</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_im2_col_kernel.xhtml">NEIm2ColKernel</a>. <a href="classarm__compute_1_1_n_e_im2_col.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_im2_col_kernel.xhtml">NEIm2ColKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the im2col reshape kernel. <a href="classarm__compute_1_1_n_e_im2_col_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_integral_image.xhtml">NEIntegralImage</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run a <a class="el" href="classarm__compute_1_1_n_e_integral_image_kernel.xhtml">NEIntegralImageKernel</a>. <a href="classarm__compute_1_1_n_e_integral_image.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_integral_image_kernel.xhtml">NEIntegralImageKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> to perform an image integral on an image. <a href="classarm__compute_1_1_n_e_integral_image_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_l2_normalize_layer.xhtml">NEL2NormalizeLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to perform a L2 normalization on a given axis. <a href="classarm__compute_1_1_n_e_l2_normalize_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_l2_normalize_layer_kernel.xhtml">NEL2NormalizeLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for performing a L2 normalize on a given axis given the square sum of it in this axis. <a href="classarm__compute_1_1_n_e_l2_normalize_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_laplacian_pyramid.xhtml">NELaplacianPyramid</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute laplacian pyramid. <a href="classarm__compute_1_1_n_e_laplacian_pyramid.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_laplacian_reconstruct.xhtml">NELaplacianReconstruct</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute laplacian reconstruction. <a href="classarm__compute_1_1_n_e_laplacian_reconstruct.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml">NELKInternalKeypoint</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Internal keypoint class for Lucas-Kanade Optical Flow. <a href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_l_k_tracker_kernel.xhtml">NELKTrackerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the Lucas-Kanade tracker kernel. <a href="classarm__compute_1_1_n_e_l_k_tracker_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_locally_connected_layer.xhtml">NELocallyConnectedLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute the locally connected layer. <a href="classarm__compute_1_1_n_e_locally_connected_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_locally_connected_matrix_multiply_kernel.xhtml">NELocallyConnectedMatrixMultiplyKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to multiply each row of first tensor with low 2 dimensions of second tensor. <a href="classarm__compute_1_1_n_e_locally_connected_matrix_multiply_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_logits1_d_max_kernel.xhtml">NELogits1DMaxKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the identifying the max value of 1D Logits. <a href="classarm__compute_1_1_n_e_logits1_d_max_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_logits1_d_norm_kernel.xhtml">NELogits1DNormKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for calculating the final step of the Softmax Layer where each logit value is multiplied by the inverse of the sum of the logits. <a href="classarm__compute_1_1_n_e_logits1_d_norm_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_logits1_d_shift_exp_sum_kernel.xhtml">NELogits1DShiftExpSumKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for shifting the logits values around the max value and exponentiating the result. <a href="classarm__compute_1_1_n_e_logits1_d_shift_exp_sum_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_magnitude.xhtml">NEMagnitude</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml" title="Template interface for the kernel to compute magnitude and phase. ">NEMagnitudePhaseKernel</a>. <a href="classarm__compute_1_1_n_e_magnitude.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml">NEMagnitudePhaseKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Template interface for the kernel to compute magnitude and phase. <a href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_mean_std_dev.xhtml">NEMeanStdDev</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute mean and std deviation. <a href="classarm__compute_1_1_n_e_mean_std_dev.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_mean_std_dev_kernel.xhtml">NEMeanStdDevKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to calculate mean and standard deviation of input image pixels. <a href="classarm__compute_1_1_n_e_mean_std_dev_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_median3x3.xhtml">NEMedian3x3</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute median filter. <a href="classarm__compute_1_1_n_e_median3x3.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_median3x3_kernel.xhtml">NEMedian3x3Kernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> to perform a median filter on a tensor. <a href="classarm__compute_1_1_n_e_median3x3_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_min_max_kernel.xhtml">NEMinMaxKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform min max search on an image. <a href="classarm__compute_1_1_n_e_min_max_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_min_max_layer_kernel.xhtml">NEMinMaxLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform min max search on a 3D tensor. <a href="classarm__compute_1_1_n_e_min_max_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_min_max_location.xhtml">NEMinMaxLocation</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute min and max location. <a href="classarm__compute_1_1_n_e_min_max_location.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_min_max_location_kernel.xhtml">NEMinMaxLocationKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to find min max locations of an image. <a href="classarm__compute_1_1_n_e_min_max_location_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_linear_filter.xhtml">NENonLinearFilter</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute non linear filter. <a href="classarm__compute_1_1_n_e_non_linear_filter.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_linear_filter_kernel.xhtml">NENonLinearFilterKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to apply a non-linear filter. <a href="classarm__compute_1_1_n_e_non_linear_filter_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_maxima_suppression3x3.xhtml">NENonMaximaSuppression3x3</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute non-maxima suppression over a 3x3 window. <a href="classarm__compute_1_1_n_e_non_maxima_suppression3x3.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_kernel.xhtml">NENonMaximaSuppression3x3Kernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to perform Non-Maxima suppression over a 3x3 window using NEON. <a href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_normalization_layer.xhtml">NENormalizationLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute a normalization layer. <a href="classarm__compute_1_1_n_e_normalization_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_normalization_layer_kernel.xhtml">NENormalizationLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the normalization layer kernel. <a href="classarm__compute_1_1_n_e_normalization_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_optical_flow.xhtml">NEOpticalFlow</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute optical flow. <a href="classarm__compute_1_1_n_e_optical_flow.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_phase.xhtml">NEPhase</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml" title="Template interface for the kernel to compute magnitude and phase. ">NEMagnitudePhaseKernel</a>. <a href="classarm__compute_1_1_n_e_phase.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication.xhtml">NEPixelWiseMultiplication</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a>. <a href="classarm__compute_1_1_n_e_pixel_wise_multiplication.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform addition between two tensors. <a href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pooling_layer.xhtml">NEPoolingLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to simulate a pooling layer with the specified pooling operation. <a href="classarm__compute_1_1_n_e_pooling_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pooling_layer_kernel.xhtml">NEPoolingLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the pooling layer kernel. <a href="classarm__compute_1_1_n_e_pooling_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_quantization_layer.xhtml">NEQuantizationLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to simulate a quantization layer. <a href="classarm__compute_1_1_n_e_quantization_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_quantization_layer_kernel.xhtml">NEQuantizationLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the quantization layer kernel. <a href="classarm__compute_1_1_n_e_quantization_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_reduction_operation.xhtml">NEReductionOperation</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to simulate a reduction operation. <a href="classarm__compute_1_1_n_e_reduction_operation.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_reduction_operation_kernel.xhtml">NEReductionOperationKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform a reduction operation. <a href="classarm__compute_1_1_n_e_reduction_operation_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_remap.xhtml">NERemap</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute remap. <a href="classarm__compute_1_1_n_e_remap.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_remap_kernel.xhtml">NERemapKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform a remap on a tensor. <a href="classarm__compute_1_1_n_e_remap_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_reshape_layer.xhtml">NEReshapeLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_reshape_layer_kernel.xhtml">NEReshapeLayerKernel</a>. <a href="classarm__compute_1_1_n_e_reshape_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_reshape_layer_kernel.xhtml">NEReshapeLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform tensor reshaping. <a href="classarm__compute_1_1_n_e_reshape_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_r_o_i_pooling_layer.xhtml">NEROIPoolingLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_r_o_i_pooling_layer_kernel.xhtml">NEROIPoolingLayerKernel</a>. <a href="classarm__compute_1_1_n_e_r_o_i_pooling_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_r_o_i_pooling_layer_kernel.xhtml">NEROIPoolingLayerKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the <a class="el" href="structarm__compute_1_1_r_o_i.xhtml" title="Region of interest. ">ROI</a> pooling layer kernel. <a href="classarm__compute_1_1_n_e_r_o_i_pooling_layer_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_scale.xhtml">NEScale</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_scale_kernel.xhtml">NEScaleKernel</a>. <a href="classarm__compute_1_1_n_e_scale.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_scale_kernel.xhtml">NEScaleKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform scaling on a tensor. <a href="classarm__compute_1_1_n_e_scale_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_scharr3x3.xhtml">NEScharr3x3</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute scharr 3x3 filter. <a href="classarm__compute_1_1_n_e_scharr3x3.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_scharr3x3_kernel.xhtml">NEScharr3x3Kernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run a 3x3 Scharr filter on a tensor. <a href="classarm__compute_1_1_n_e_scharr3x3_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml">NESeparableConvolutionHorKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the Horizontal pass of a Separable Convolution. <a href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml">NESeparableConvolutionVertKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> for the Vertical pass of a Separable Convolution. <a href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel3x3.xhtml">NESobel3x3</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute sobel 3x3 filter. <a href="classarm__compute_1_1_n_e_sobel3x3.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel3x3_kernel.xhtml">NESobel3x3Kernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run a 3x3 Sobel X filter on a tensor. <a href="classarm__compute_1_1_n_e_sobel3x3_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel5x5.xhtml">NESobel5x5</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute sobel 5x5 filter. <a href="classarm__compute_1_1_n_e_sobel5x5.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel5x5_hor_kernel.xhtml">NESobel5x5HorKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the horizontal pass of 5x5 Sobel filter on a tensor. <a href="classarm__compute_1_1_n_e_sobel5x5_hor_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel5x5_vert_kernel.xhtml">NESobel5x5VertKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the vertical pass of 5x5 Sobel Y filter on a tensor. <a href="classarm__compute_1_1_n_e_sobel5x5_vert_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel7x7.xhtml">NESobel7x7</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to execute sobel 7x7 filter. <a href="classarm__compute_1_1_n_e_sobel7x7.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel7x7_hor_kernel.xhtml">NESobel7x7HorKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the horizontal pass of 7x7 Sobel filter on a tensor. <a href="classarm__compute_1_1_n_e_sobel7x7_hor_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_sobel7x7_vert_kernel.xhtml">NESobel7x7VertKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to run the vertical pass of 7x7 Sobel Y filter on a tensor. <a href="classarm__compute_1_1_n_e_sobel7x7_vert_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_softmax_layer.xhtml">NESoftmaxLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to compute a SoftmaxLayer. <a href="classarm__compute_1_1_n_e_softmax_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_table_lookup.xhtml">NETableLookup</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_table_lookup_kernel.xhtml">NETableLookupKernel</a>. <a href="classarm__compute_1_1_n_e_table_lookup.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_table_lookup_kernel.xhtml">NETableLookupKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel to perform table lookup calculations. <a href="classarm__compute_1_1_n_e_table_lookup_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_threshold.xhtml">NEThreshold</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_threshold_kernel.xhtml">NEThresholdKernel</a>. <a href="classarm__compute_1_1_n_e_threshold.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_threshold_kernel.xhtml">NEThresholdKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the thresholding kernel. <a href="classarm__compute_1_1_n_e_threshold_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_transpose.xhtml">NETranspose</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to transpose a matrix on NEON. <a href="classarm__compute_1_1_n_e_transpose.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_transpose_kernel.xhtml">NETransposeKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel which transposes the elements of a matrix. <a href="classarm__compute_1_1_n_e_transpose_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_warp_affine.xhtml">NEWarpAffine</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_warp_affine_kernel.xhtml">NEWarpAffineKernel</a>. <a href="classarm__compute_1_1_n_e_warp_affine.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_warp_affine_kernel.xhtml">NEWarpAffineKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Template interface for the kernel to compute warp affine. <a href="classarm__compute_1_1_n_e_warp_affine_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_warp_perspective.xhtml">NEWarpPerspective</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run <a class="el" href="classarm__compute_1_1_n_e_warp_perspective_kernel.xhtml">NEWarpPerspectiveKernel</a>. <a href="classarm__compute_1_1_n_e_warp_perspective.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_warp_perspective_kernel.xhtml">NEWarpPerspectiveKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Template interface for the kernel to compute warp perspective. <a href="classarm__compute_1_1_n_e_warp_perspective_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_weights_reshape_kernel.xhtml">NEWeightsReshapeKernel</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">NEON kernel to perform reshaping on the weights used by convolution and locally connected layer. <a href="classarm__compute_1_1_n_e_weights_reshape_kernel.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer.xhtml">NEWinogradLayer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to simulate a convolution layer. <a href="classarm__compute_1_1_n_e_winograd_layer.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml">NEWinogradLayerKernel</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Normalization Layer Information class. <a href="classarm__compute_1_1_normalization_layer_info.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_offset_lifetime_manager.xhtml">OffsetLifetimeManager</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Concrete class that tracks the lifetime of registered tensors and calculates the systems memory requirements in terms of a single blob and a list of offsets. <a href="classarm__compute_1_1_offset_lifetime_manager.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_offset_memory_pool.xhtml">OffsetMemoryPool</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Offset based memory pool. <a href="classarm__compute_1_1_offset_memory_pool.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_o_m_p_scheduler.xhtml">OMPScheduler</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Pool of threads to automatically split a kernel's execution among several threads. <a href="classarm__compute_1_1_o_m_p_scheduler.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Padding and stride information class. <a href="classarm__compute_1_1_pad_stride_info.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pixel_value.xhtml">PixelValue</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Class describing the value of a pixel for any image format. <a href="classarm__compute_1_1_pixel_value.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pooling_layer_info.xhtml">PoolingLayerInfo</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Pooling Layer Information class. <a href="classarm__compute_1_1_pooling_layer_info.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pool_manager.xhtml">PoolManager</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> pool manager. <a href="classarm__compute_1_1_pool_manager.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_program.xhtml">Program</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_program.xhtml" title="Program class. ">Program</a> class. <a href="classarm__compute_1_1_program.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pyramid.xhtml">Pyramid</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the pyramid interface. <a href="classarm__compute_1_1_pyramid.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_pyramid_info.xhtml">PyramidInfo</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Store the <a class="el" href="classarm__compute_1_1_pyramid.xhtml" title="Basic implementation of the pyramid interface. ">Pyramid</a>'s metadata. <a href="classarm__compute_1_1_pyramid_info.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Quantization settings (used for QASYMM8 data type) <a href="structarm__compute_1_1_quantization_info.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_rectangle.xhtml">Rectangle</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structarm__compute_1_1_rectangle.xhtml" title="Rectangle type. ">Rectangle</a> type. <a href="structarm__compute_1_1_rectangle.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_r_o_i.xhtml">ROI</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Region of interest. <a href="structarm__compute_1_1_r_o_i.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_r_o_i_pooling_layer_info.xhtml">ROIPoolingLayerInfo</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structarm__compute_1_1_r_o_i.xhtml" title="Region of interest. ">ROI</a> Pooling Layer Information class. <a href="classarm__compute_1_1_r_o_i_pooling_layer_info.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_scheduler.xhtml">Scheduler</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Configurable scheduler which supports multiple multithreading APIs and choosing between different schedulers at runtime. <a href="classarm__compute_1_1_scheduler.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_semaphore.xhtml">Semaphore</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Semamphore class. <a href="classarm__compute_1_1_semaphore.xhtml#details">More...</a><br/></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Semamphore class. <a href="classarm__compute_1_1_semaphore.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_single_thread_scheduler.xhtml">SingleThreadScheduler</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Pool of threads to automatically split a kernel's execution among several threads. <a href="classarm__compute_1_1_single_thread_scheduler.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_size2_d.xhtml">Size2D</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Class for specifying the size of an image or rectangle. <a href="classarm__compute_1_1_size2_d.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> class. <a href="classarm__compute_1_1_status.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Class to describe a number of elements in each dimension. <a href="classarm__compute_1_1_steps.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classarm__compute_1_1_strides.xhtml" title="Strides of an item in bytes. ">Strides</a> of an item in bytes. <a href="classarm__compute_1_1_strides.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_sub_tensor.xhtml">SubTensor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the sub-tensor interface. <a href="classarm__compute_1_1_sub_tensor.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_sub_tensor_info.xhtml">SubTensorInfo</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Store the sub tensor's metadata. <a href="classarm__compute_1_1_sub_tensor_info.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of the tensor interface. <a href="classarm__compute_1_1_tensor.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_tensor_allocator.xhtml">TensorAllocator</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Basic implementation of a CPU memory tensor allocator. <a href="classarm__compute_1_1_tensor_allocator.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Store the tensor's metadata. <a href="classarm__compute_1_1_tensor_info.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Shape of a tensor. <a href="classarm__compute_1_1_tensor_shape.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_thread_info.xhtml">ThreadInfo</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_weights_info.xhtml">WeightsInfo</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Convolution Layer Weights Information class. <a href="classarm__compute_1_1_weights_info.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Describe a multidimensional execution window. <a href="classarm__compute_1_1_window.xhtml#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_winograd3x3_f32.xhtml">Winograd3x3F32</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
@@ -1648,34 +1941,34 @@
<tr class="memitem:aa80145f30ddae0c2ccbcaa910e3e71dd"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa80145f30ddae0c2ccbcaa910e3e71dd">ICLImage</a> = <a class="el" href="classarm__compute_1_1_i_c_l_tensor.xhtml">ICLTensor</a></td></tr>
<tr class="separator:aa80145f30ddae0c2ccbcaa910e3e71dd"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4751499f1c526c7285e7e946c2e84541"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4751499f1c526c7285e7e946c2e84541">CLConvolution3x3Kernel</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a>< 3 ></td></tr>
-<tr class="memdesc:a4751499f1c526c7285e7e946c2e84541"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applies a 3x3 convolution to a tensor. <a href="#a4751499f1c526c7285e7e946c2e84541">More...</a><br/></td></tr>
+<tr class="memdesc:a4751499f1c526c7285e7e946c2e84541"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applies a 3x3 convolution to a tensor. <a href="#a4751499f1c526c7285e7e946c2e84541">More...</a><br /></td></tr>
<tr class="separator:a4751499f1c526c7285e7e946c2e84541"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac4cfbdf439d7bf5d420546298bd5ca0d"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac4cfbdf439d7bf5d420546298bd5ca0d">CLConvolution5x5Kernel</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a>< 5 ></td></tr>
-<tr class="memdesc:ac4cfbdf439d7bf5d420546298bd5ca0d"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applies a 5x5 convolution to a tensor. <a href="#ac4cfbdf439d7bf5d420546298bd5ca0d">More...</a><br/></td></tr>
+<tr class="memdesc:ac4cfbdf439d7bf5d420546298bd5ca0d"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applies a 5x5 convolution to a tensor. <a href="#ac4cfbdf439d7bf5d420546298bd5ca0d">More...</a><br /></td></tr>
<tr class="separator:ac4cfbdf439d7bf5d420546298bd5ca0d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a99a54c937a254c96cd1a29a96ffa7dcf"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a99a54c937a254c96cd1a29a96ffa7dcf">CLConvolution7x7Kernel</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a>< 7 ></td></tr>
-<tr class="memdesc:a99a54c937a254c96cd1a29a96ffa7dcf"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applies a 7x7 convolution to a tensor. <a href="#a99a54c937a254c96cd1a29a96ffa7dcf">More...</a><br/></td></tr>
+<tr class="memdesc:a99a54c937a254c96cd1a29a96ffa7dcf"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applies a 7x7 convolution to a tensor. <a href="#a99a54c937a254c96cd1a29a96ffa7dcf">More...</a><br /></td></tr>
<tr class="separator:a99a54c937a254c96cd1a29a96ffa7dcf"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a908439cd5cf8253865d5c70a413fd607"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a908439cd5cf8253865d5c70a413fd607">CLConvolution9x9Kernel</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_kernel.xhtml">CLConvolutionKernel</a>< 9 ></td></tr>
-<tr class="memdesc:a908439cd5cf8253865d5c70a413fd607"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applies a 9x9 convolution to a tensor. <a href="#a908439cd5cf8253865d5c70a413fd607">More...</a><br/></td></tr>
+<tr class="memdesc:a908439cd5cf8253865d5c70a413fd607"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applies a 9x9 convolution to a tensor. <a href="#a908439cd5cf8253865d5c70a413fd607">More...</a><br /></td></tr>
<tr class="separator:a908439cd5cf8253865d5c70a413fd607"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac72d613f7270604dbcad2553c278b16c"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac72d613f7270604dbcad2553c278b16c">CLSeparableConvolution5x5HorKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml">CLSeparableConvolutionHorKernel</a>< 5 ></td></tr>
-<tr class="memdesc:ac72d613f7270604dbcad2553c278b16c"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applies a horizontal pass of 5x5 convolution to a tensor. <a href="#ac72d613f7270604dbcad2553c278b16c">More...</a><br/></td></tr>
+<tr class="memdesc:ac72d613f7270604dbcad2553c278b16c"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applies a horizontal pass of 5x5 convolution to a tensor. <a href="#ac72d613f7270604dbcad2553c278b16c">More...</a><br /></td></tr>
<tr class="separator:ac72d613f7270604dbcad2553c278b16c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aab26624bf4b326f8145b2909a5042004"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aab26624bf4b326f8145b2909a5042004">CLSeparableConvolution7x7HorKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml">CLSeparableConvolutionHorKernel</a>< 7 ></td></tr>
-<tr class="memdesc:aab26624bf4b326f8145b2909a5042004"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applies a horizontal pass of 7x7 convolution to a tensor. <a href="#aab26624bf4b326f8145b2909a5042004">More...</a><br/></td></tr>
+<tr class="memdesc:aab26624bf4b326f8145b2909a5042004"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applies a horizontal pass of 7x7 convolution to a tensor. <a href="#aab26624bf4b326f8145b2909a5042004">More...</a><br /></td></tr>
<tr class="separator:aab26624bf4b326f8145b2909a5042004"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9f34ccad344bc43d25e8be2b828853aa"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9f34ccad344bc43d25e8be2b828853aa">CLSeparableConvolution9x9HorKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml">CLSeparableConvolutionHorKernel</a>< 9 ></td></tr>
-<tr class="memdesc:a9f34ccad344bc43d25e8be2b828853aa"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applies a horizontal pass of 9x9 convolution to a tensor. <a href="#a9f34ccad344bc43d25e8be2b828853aa">More...</a><br/></td></tr>
+<tr class="memdesc:a9f34ccad344bc43d25e8be2b828853aa"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applies a horizontal pass of 9x9 convolution to a tensor. <a href="#a9f34ccad344bc43d25e8be2b828853aa">More...</a><br /></td></tr>
<tr class="separator:a9f34ccad344bc43d25e8be2b828853aa"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac7295b0d8d71be75033238ad7fbba38c"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac7295b0d8d71be75033238ad7fbba38c">CLSeparableConvolution5x5VertKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml">CLSeparableConvolutionVertKernel</a>< 5 ></td></tr>
-<tr class="memdesc:ac7295b0d8d71be75033238ad7fbba38c"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applies a vertical pass of 5x5 convolution to a tensor. <a href="#ac7295b0d8d71be75033238ad7fbba38c">More...</a><br/></td></tr>
+<tr class="memdesc:ac7295b0d8d71be75033238ad7fbba38c"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applies a vertical pass of 5x5 convolution to a tensor. <a href="#ac7295b0d8d71be75033238ad7fbba38c">More...</a><br /></td></tr>
<tr class="separator:ac7295b0d8d71be75033238ad7fbba38c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0ffdf01e236016ce8d366a69875d1375"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0ffdf01e236016ce8d366a69875d1375">CLSeparableConvolution7x7VertKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml">CLSeparableConvolutionVertKernel</a>< 7 ></td></tr>
-<tr class="memdesc:a0ffdf01e236016ce8d366a69875d1375"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applies a vertical pass of 7x7 convolution to a tensor. <a href="#a0ffdf01e236016ce8d366a69875d1375">More...</a><br/></td></tr>
+<tr class="memdesc:a0ffdf01e236016ce8d366a69875d1375"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applies a vertical pass of 7x7 convolution to a tensor. <a href="#a0ffdf01e236016ce8d366a69875d1375">More...</a><br /></td></tr>
<tr class="separator:a0ffdf01e236016ce8d366a69875d1375"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6d08e1e881bf611c1e1b9e2bb8810d19"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6d08e1e881bf611c1e1b9e2bb8810d19">CLSeparableConvolution9x9VertKernel</a> = <a class="el" href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml">CLSeparableConvolutionVertKernel</a>< 9 ></td></tr>
-<tr class="memdesc:a6d08e1e881bf611c1e1b9e2bb8810d19"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applies a vertical pass of 9x9 convolution to a tensor. <a href="#a6d08e1e881bf611c1e1b9e2bb8810d19">More...</a><br/></td></tr>
+<tr class="memdesc:a6d08e1e881bf611c1e1b9e2bb8810d19"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applies a vertical pass of 9x9 convolution to a tensor. <a href="#a6d08e1e881bf611c1e1b9e2bb8810d19">More...</a><br /></td></tr>
<tr class="separator:a6d08e1e881bf611c1e1b9e2bb8810d19"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a569a32a7a853d4708fd4f4840c88a157"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a569a32a7a853d4708fd4f4840c88a157">ICLLKInternalKeypointArray</a> = <a class="el" href="classarm__compute_1_1_i_c_l_array.xhtml">ICLArray</a>< <a class="el" href="structarm__compute_1_1_c_l_l_k_internal_keypoint.xhtml">CLLKInternalKeypoint</a> ></td></tr>
<tr class="separator:a569a32a7a853d4708fd4f4840c88a157"><td class="memSeparator" colspan="2"> </td></tr>
@@ -1686,17 +1979,25 @@
<tr class="memitem:ac20902ac1ef01783c8a8d71a9bdf1100"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> = <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a></td></tr>
<tr class="separator:ac20902ac1ef01783c8a8d71a9bdf1100"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4c3f681c30c9398c45bc3cd5dc4f038a"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> = int8_t</td></tr>
-<tr class="memdesc:a4c3f681c30c9398c45bc3cd5dc4f038a"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar value <a href="#a4c3f681c30c9398c45bc3cd5dc4f038a">More...</a><br/></td></tr>
+<tr class="memdesc:a4c3f681c30c9398c45bc3cd5dc4f038a"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar value <a href="#a4c3f681c30c9398c45bc3cd5dc4f038a">More...</a><br /></td></tr>
<tr class="separator:a4c3f681c30c9398c45bc3cd5dc4f038a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1521eea74b97de8f2df9304e44179400"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> = int16_t</td></tr>
-<tr class="memdesc:a1521eea74b97de8f2df9304e44179400"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar value <a href="#a1521eea74b97de8f2df9304e44179400">More...</a><br/></td></tr>
+<tr class="memdesc:a1521eea74b97de8f2df9304e44179400"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar value <a href="#a1521eea74b97de8f2df9304e44179400">More...</a><br /></td></tr>
<tr class="separator:a1521eea74b97de8f2df9304e44179400"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa06c95f9976f3729316d689b4419089f"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> = int32_t</td></tr>
-<tr class="memdesc:aa06c95f9976f3729316d689b4419089f"><td class="mdescLeft"> </td><td class="mdescRight">32 bit fixed point scalar value <a href="#aa06c95f9976f3729316d689b4419089f">More...</a><br/></td></tr>
+<tr class="memdesc:aa06c95f9976f3729316d689b4419089f"><td class="mdescLeft"> </td><td class="mdescRight">32 bit fixed point scalar value <a href="#aa06c95f9976f3729316d689b4419089f">More...</a><br /></td></tr>
<tr class="separator:aa06c95f9976f3729316d689b4419089f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:adc3be0bc3741b081217b2609abcf0333"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adc3be0bc3741b081217b2609abcf0333">qint64_t</a> = int64_t</td></tr>
-<tr class="memdesc:adc3be0bc3741b081217b2609abcf0333"><td class="mdescLeft"> </td><td class="mdescRight">64 bit fixed point scalar value <a href="#adc3be0bc3741b081217b2609abcf0333">More...</a><br/></td></tr>
+<tr class="memdesc:adc3be0bc3741b081217b2609abcf0333"><td class="mdescLeft"> </td><td class="mdescRight">64 bit fixed point scalar value <a href="#adc3be0bc3741b081217b2609abcf0333">More...</a><br /></td></tr>
<tr class="separator:adc3be0bc3741b081217b2609abcf0333"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a39070701484fa98eaa18cfcdb6aeb175"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a39070701484fa98eaa18cfcdb6aeb175">IGCImage</a> = <a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a></td></tr>
+<tr class="separator:a39070701484fa98eaa18cfcdb6aeb175"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a10f3af894ca8b0479a5e6bc296083314"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a10f3af894ca8b0479a5e6bc296083314">GCDirectConvolutionLayer1x1Kernel</a> = <a class="el" href="classarm__compute_1_1_g_c_direct_convolution_layer_kernel.xhtml">GCDirectConvolutionLayerKernel</a>< 1 ></td></tr>
+<tr class="separator:a10f3af894ca8b0479a5e6bc296083314"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a35ccf8834da8b67bfb9c61fbc5e5f1e6"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a35ccf8834da8b67bfb9c61fbc5e5f1e6">GCDirectConvolutionLayer3x3Kernel</a> = <a class="el" href="classarm__compute_1_1_g_c_direct_convolution_layer_kernel.xhtml">GCDirectConvolutionLayerKernel</a>< 3 ></td></tr>
+<tr class="separator:a35ccf8834da8b67bfb9c61fbc5e5f1e6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a227e525a4d0a4da25040cfdf8a3cf06b"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a227e525a4d0a4da25040cfdf8a3cf06b">GCDirectConvolutionLayer5x5Kernel</a> = <a class="el" href="classarm__compute_1_1_g_c_direct_convolution_layer_kernel.xhtml">GCDirectConvolutionLayerKernel</a>< 5 ></td></tr>
+<tr class="separator:a227e525a4d0a4da25040cfdf8a3cf06b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab56a557a5fdf97819f23c35c24f0b0d2"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab56a557a5fdf97819f23c35c24f0b0d2">IKeyPointArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>< <a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a> ></td></tr>
<tr class="separator:ab56a557a5fdf97819f23c35c24f0b0d2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aac9efd49d3bbbd53779713e5fb37de62"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aac9efd49d3bbbd53779713e5fb37de62">ICoordinates2DArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>< <a class="el" href="structarm__compute_1_1_coordinates2_d.xhtml">Coordinates2D</a> ></td></tr>
@@ -1723,98 +2024,133 @@
<tr class="separator:a9f3ed96e009111cfbe53d3f77c712390"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4aad0c49ce3d7cf4693830398f190250"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4aad0c49ce3d7cf4693830398f190250">INESimpleKernel</a> = <a class="el" href="classarm__compute_1_1_i_c_p_p_simple_kernel.xhtml">ICPPSimpleKernel</a></td></tr>
<tr class="separator:a4aad0c49ce3d7cf4693830398f190250"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aff99c045b07329b332b1cb97a2dd1518"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aff99c045b07329b332b1cb97a2dd1518">NEAccumulateWeightedFP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted_kernel.xhtml">NEAccumulateWeightedKernel</a></td></tr>
+<tr class="separator:aff99c045b07329b332b1cb97a2dd1518"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a96f7f6f98dc47e0dc3b928bf87397ebf"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a96f7f6f98dc47e0dc3b928bf87397ebf">NEBox3x3FP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_box3x3_kernel.xhtml">NEBox3x3Kernel</a></td></tr>
+<tr class="separator:a96f7f6f98dc47e0dc3b928bf87397ebf"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a593fd1da692f305db6ca306cb8e0158e"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a593fd1da692f305db6ca306cb8e0158e">NEGradientFP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_gradient_kernel.xhtml">NEGradientKernel</a></td></tr>
+<tr class="separator:a593fd1da692f305db6ca306cb8e0158e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:acf81639b3d33b5da654ef088e4d10520"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acf81639b3d33b5da654ef088e4d10520">NEConvolution3x3Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a>< 3 ></td></tr>
-<tr class="memdesc:acf81639b3d33b5da654ef088e4d10520"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applied a 3x3 convolution to a tensor. <a href="#acf81639b3d33b5da654ef088e4d10520">More...</a><br/></td></tr>
+<tr class="memdesc:acf81639b3d33b5da654ef088e4d10520"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applied a 3x3 convolution to a tensor. <a href="#acf81639b3d33b5da654ef088e4d10520">More...</a><br /></td></tr>
<tr class="separator:acf81639b3d33b5da654ef088e4d10520"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a21898b2d2e31ab9af8933c66ff82c8c6"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a21898b2d2e31ab9af8933c66ff82c8c6">NEConvolution5x5Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a>< 5 ></td></tr>
-<tr class="memdesc:a21898b2d2e31ab9af8933c66ff82c8c6"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applied a 5x5 convolution to a tensor. <a href="#a21898b2d2e31ab9af8933c66ff82c8c6">More...</a><br/></td></tr>
+<tr class="memdesc:a21898b2d2e31ab9af8933c66ff82c8c6"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applied a 5x5 convolution to a tensor. <a href="#a21898b2d2e31ab9af8933c66ff82c8c6">More...</a><br /></td></tr>
<tr class="separator:a21898b2d2e31ab9af8933c66ff82c8c6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae46cbbe03d31c6c8e7eba7b58999842d"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae46cbbe03d31c6c8e7eba7b58999842d">NEConvolution7x7Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a>< 7 ></td></tr>
-<tr class="memdesc:ae46cbbe03d31c6c8e7eba7b58999842d"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applied a 7x7 convolution to a tensor. <a href="#ae46cbbe03d31c6c8e7eba7b58999842d">More...</a><br/></td></tr>
+<tr class="memdesc:ae46cbbe03d31c6c8e7eba7b58999842d"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applied a 7x7 convolution to a tensor. <a href="#ae46cbbe03d31c6c8e7eba7b58999842d">More...</a><br /></td></tr>
<tr class="separator:ae46cbbe03d31c6c8e7eba7b58999842d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1025306f820a9e76df7e5891caacff7b"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1025306f820a9e76df7e5891caacff7b">NEConvolution9x9Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_kernel.xhtml">NEConvolutionKernel</a>< 9 ></td></tr>
-<tr class="memdesc:a1025306f820a9e76df7e5891caacff7b"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applied a 9x9 convolution to a tensor. <a href="#a1025306f820a9e76df7e5891caacff7b">More...</a><br/></td></tr>
+<tr class="memdesc:a1025306f820a9e76df7e5891caacff7b"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applied a 9x9 convolution to a tensor. <a href="#a1025306f820a9e76df7e5891caacff7b">More...</a><br /></td></tr>
<tr class="separator:a1025306f820a9e76df7e5891caacff7b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac78a7593874c21cff86478c1ba6df27b"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac78a7593874c21cff86478c1ba6df27b">NESeparableConvolution5x5HorKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml">NESeparableConvolutionHorKernel</a>< 5 ></td></tr>
-<tr class="memdesc:ac78a7593874c21cff86478c1ba6df27b"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applied a 5x1 horizontal convolution to a tensor. <a href="#ac78a7593874c21cff86478c1ba6df27b">More...</a><br/></td></tr>
+<tr class="memdesc:ac78a7593874c21cff86478c1ba6df27b"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applied a 5x1 horizontal convolution to a tensor. <a href="#ac78a7593874c21cff86478c1ba6df27b">More...</a><br /></td></tr>
<tr class="separator:ac78a7593874c21cff86478c1ba6df27b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aca4adbcd292c26b0e392c59875c1e926"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aca4adbcd292c26b0e392c59875c1e926">NESeparableConvolution7x7HorKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml">NESeparableConvolutionHorKernel</a>< 7 ></td></tr>
-<tr class="memdesc:aca4adbcd292c26b0e392c59875c1e926"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applied a 7x1 horizontal convolution to a tensor. <a href="#aca4adbcd292c26b0e392c59875c1e926">More...</a><br/></td></tr>
+<tr class="memdesc:aca4adbcd292c26b0e392c59875c1e926"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applied a 7x1 horizontal convolution to a tensor. <a href="#aca4adbcd292c26b0e392c59875c1e926">More...</a><br /></td></tr>
<tr class="separator:aca4adbcd292c26b0e392c59875c1e926"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4ba5f6b7cd6b70b75e42149f3bc08f38"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4ba5f6b7cd6b70b75e42149f3bc08f38">NESeparableConvolution9x9HorKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml">NESeparableConvolutionHorKernel</a>< 9 ></td></tr>
-<tr class="memdesc:a4ba5f6b7cd6b70b75e42149f3bc08f38"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applied a 9x1 horizontal convolution to a tensor. <a href="#a4ba5f6b7cd6b70b75e42149f3bc08f38">More...</a><br/></td></tr>
+<tr class="memdesc:a4ba5f6b7cd6b70b75e42149f3bc08f38"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applied a 9x1 horizontal convolution to a tensor. <a href="#a4ba5f6b7cd6b70b75e42149f3bc08f38">More...</a><br /></td></tr>
<tr class="separator:a4ba5f6b7cd6b70b75e42149f3bc08f38"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae4152320657df499674ed64b16c28a7b"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae4152320657df499674ed64b16c28a7b">NESeparableConvolution5x5VertKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml">NESeparableConvolutionVertKernel</a>< 5 ></td></tr>
-<tr class="memdesc:ae4152320657df499674ed64b16c28a7b"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applied a 1x5 vertical convolution to a tensor. <a href="#ae4152320657df499674ed64b16c28a7b">More...</a><br/></td></tr>
+<tr class="memdesc:ae4152320657df499674ed64b16c28a7b"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applied a 1x5 vertical convolution to a tensor. <a href="#ae4152320657df499674ed64b16c28a7b">More...</a><br /></td></tr>
<tr class="separator:ae4152320657df499674ed64b16c28a7b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0f952bd0821b506e18514a3f4dbc6c39"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0f952bd0821b506e18514a3f4dbc6c39">NESeparableConvolution7x7VertKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml">NESeparableConvolutionVertKernel</a>< 7 ></td></tr>
-<tr class="memdesc:a0f952bd0821b506e18514a3f4dbc6c39"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applied a 1x7 vertical convolution to a tensor. <a href="#a0f952bd0821b506e18514a3f4dbc6c39">More...</a><br/></td></tr>
+<tr class="memdesc:a0f952bd0821b506e18514a3f4dbc6c39"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applied a 1x7 vertical convolution to a tensor. <a href="#a0f952bd0821b506e18514a3f4dbc6c39">More...</a><br /></td></tr>
<tr class="separator:a0f952bd0821b506e18514a3f4dbc6c39"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6310d21f215fface41df4cde725a62b9"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6310d21f215fface41df4cde725a62b9">NESeparableConvolution9x9VertKernel</a> = <a class="el" href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml">NESeparableConvolutionVertKernel</a>< 9 ></td></tr>
-<tr class="memdesc:a6310d21f215fface41df4cde725a62b9"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applied a 1x9 vertical convolution to a tensor. <a href="#a6310d21f215fface41df4cde725a62b9">More...</a><br/></td></tr>
+<tr class="memdesc:a6310d21f215fface41df4cde725a62b9"><td class="mdescLeft"> </td><td class="mdescRight">Interface for the kernel which applied a 1x9 vertical convolution to a tensor. <a href="#a6310d21f215fface41df4cde725a62b9">More...</a><br /></td></tr>
<tr class="separator:a6310d21f215fface41df4cde725a62b9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0b6679b5d5c7f7dc527258181b04cf35"><td class="memTemplParams" colspan="2">template<int32_t block_size> </td></tr>
+<tr class="memitem:a0b6679b5d5c7f7dc527258181b04cf35"><td class="memTemplItemLeft" align="right" valign="top">using </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0b6679b5d5c7f7dc527258181b04cf35">NEHarrisScoreFP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_harris_score_kernel.xhtml">NEHarrisScoreKernel</a>< block_size ></td></tr>
+<tr class="separator:a0b6679b5d5c7f7dc527258181b04cf35"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a19699533eb1b662e46a10715f6086487"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a19699533eb1b662e46a10715f6086487">INELKInternalKeypointArray</a> = <a class="el" href="classarm__compute_1_1_i_array.xhtml">IArray</a>< <a class="el" href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml">NELKInternalKeypoint</a> ></td></tr>
<tr class="separator:a19699533eb1b662e46a10715f6086487"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0d4d47f41fae07bb3efb2d723b9965c3"><td class="memTemplParams" colspan="2">template<MagnitudeType mag_type, PhaseType phase_type> </td></tr>
+<tr class="memitem:a0d4d47f41fae07bb3efb2d723b9965c3"><td class="memTemplItemLeft" align="right" valign="top">using </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0d4d47f41fae07bb3efb2d723b9965c3">NEMagnitudePhaseFP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml">NEMagnitudePhaseKernel</a>< mag_type, phase_type ></td></tr>
+<tr class="separator:a0d4d47f41fae07bb3efb2d723b9965c3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a38cad49e6beaef76bc1ec5064c9e9dba"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a38cad49e6beaef76bc1ec5064c9e9dba">NENonMaximaSuppression3x3FP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_kernel.xhtml">NENonMaximaSuppression3x3Kernel</a></td></tr>
+<tr class="separator:a38cad49e6beaef76bc1ec5064c9e9dba"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a70ecc99f2f6b646579b58463dc026671"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a70ecc99f2f6b646579b58463dc026671">qasymm8x8_t</a> = uint8x8_t</td></tr>
+<tr class="memdesc:a70ecc99f2f6b646579b58463dc026671"><td class="mdescLeft"> </td><td class="mdescRight">8 bit quantized asymmetric vector with 8 elements <a href="#a70ecc99f2f6b646579b58463dc026671">More...</a><br /></td></tr>
+<tr class="separator:a70ecc99f2f6b646579b58463dc026671"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a805d740633d70a5f0b019d72c517e67d"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a805d740633d70a5f0b019d72c517e67d">qasymm8x8x2_t</a> = uint8x8x2_t</td></tr>
+<tr class="memdesc:a805d740633d70a5f0b019d72c517e67d"><td class="mdescLeft"> </td><td class="mdescRight">8 bit quantized asymmetric vector with 16 elements <a href="#a805d740633d70a5f0b019d72c517e67d">More...</a><br /></td></tr>
+<tr class="separator:a805d740633d70a5f0b019d72c517e67d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0c6e16826765130b480af53eda3635be"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0c6e16826765130b480af53eda3635be">qasymm8x8x3_t</a> = uint8x8x3_t</td></tr>
+<tr class="memdesc:a0c6e16826765130b480af53eda3635be"><td class="mdescLeft"> </td><td class="mdescRight">8 bit quantized asymmetric vector with 24 elements <a href="#a0c6e16826765130b480af53eda3635be">More...</a><br /></td></tr>
+<tr class="separator:a0c6e16826765130b480af53eda3635be"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a41d3460ff424e2e21c629b3f27386a8b"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a41d3460ff424e2e21c629b3f27386a8b">qasymm8x8x4_t</a> = uint8x8x4_t</td></tr>
+<tr class="memdesc:a41d3460ff424e2e21c629b3f27386a8b"><td class="mdescLeft"> </td><td class="mdescRight">8 bit quantized asymmetric vector with 32 elements <a href="#a41d3460ff424e2e21c629b3f27386a8b">More...</a><br /></td></tr>
+<tr class="separator:a41d3460ff424e2e21c629b3f27386a8b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac7e1832b8c58f07a98fc8d390b16ac27"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac7e1832b8c58f07a98fc8d390b16ac27">qasymm8x16_t</a> = uint8x16_t</td></tr>
+<tr class="memdesc:ac7e1832b8c58f07a98fc8d390b16ac27"><td class="mdescLeft"> </td><td class="mdescRight">8 bit quantized asymmetric vector with 16 elements <a href="#ac7e1832b8c58f07a98fc8d390b16ac27">More...</a><br /></td></tr>
+<tr class="separator:ac7e1832b8c58f07a98fc8d390b16ac27"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a16a1bee14f1db073f75caa76dacf5078"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> = int8x8_t</td></tr>
-<tr class="memdesc:a16a1bee14f1db073f75caa76dacf5078"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector with 8 elements <a href="#a16a1bee14f1db073f75caa76dacf5078">More...</a><br/></td></tr>
+<tr class="memdesc:a16a1bee14f1db073f75caa76dacf5078"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector with 8 elements <a href="#a16a1bee14f1db073f75caa76dacf5078">More...</a><br /></td></tr>
<tr class="separator:a16a1bee14f1db073f75caa76dacf5078"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ace2375b626995858a398e1ffb3108f14"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ace2375b626995858a398e1ffb3108f14">qint8x8x2_t</a> = int8x8x2_t</td></tr>
-<tr class="memdesc:ace2375b626995858a398e1ffb3108f14"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector with 16 elements <a href="#ace2375b626995858a398e1ffb3108f14">More...</a><br/></td></tr>
+<tr class="memdesc:ace2375b626995858a398e1ffb3108f14"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector with 16 elements <a href="#ace2375b626995858a398e1ffb3108f14">More...</a><br /></td></tr>
<tr class="separator:ace2375b626995858a398e1ffb3108f14"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a252c74fae9a9238ef7c23d306e670706"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a252c74fae9a9238ef7c23d306e670706">qint8x8x3_t</a> = int8x8x3_t</td></tr>
-<tr class="memdesc:a252c74fae9a9238ef7c23d306e670706"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector with 24 elements <a href="#a252c74fae9a9238ef7c23d306e670706">More...</a><br/></td></tr>
+<tr class="memdesc:a252c74fae9a9238ef7c23d306e670706"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector with 24 elements <a href="#a252c74fae9a9238ef7c23d306e670706">More...</a><br /></td></tr>
<tr class="separator:a252c74fae9a9238ef7c23d306e670706"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a01ae65c0a0736d4293e657a66bde1538"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a01ae65c0a0736d4293e657a66bde1538">qint8x8x4_t</a> = int8x8x4_t</td></tr>
-<tr class="memdesc:a01ae65c0a0736d4293e657a66bde1538"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector with 32 elements <a href="#a01ae65c0a0736d4293e657a66bde1538">More...</a><br/></td></tr>
+<tr class="memdesc:a01ae65c0a0736d4293e657a66bde1538"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector with 32 elements <a href="#a01ae65c0a0736d4293e657a66bde1538">More...</a><br /></td></tr>
<tr class="separator:a01ae65c0a0736d4293e657a66bde1538"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5b99ed49abd6b7bf13dafdd17bcef855"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> = int8x16_t</td></tr>
-<tr class="memdesc:a5b99ed49abd6b7bf13dafdd17bcef855"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector with 16 elements <a href="#a5b99ed49abd6b7bf13dafdd17bcef855">More...</a><br/></td></tr>
+<tr class="memdesc:a5b99ed49abd6b7bf13dafdd17bcef855"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector with 16 elements <a href="#a5b99ed49abd6b7bf13dafdd17bcef855">More...</a><br /></td></tr>
<tr class="separator:a5b99ed49abd6b7bf13dafdd17bcef855"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a09108711e0c18d4e9811ea4597d573b1"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a09108711e0c18d4e9811ea4597d573b1">qint8x16x2_t</a> = int8x16x2_t</td></tr>
-<tr class="memdesc:a09108711e0c18d4e9811ea4597d573b1"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector with 32 elements <a href="#a09108711e0c18d4e9811ea4597d573b1">More...</a><br/></td></tr>
+<tr class="memdesc:a09108711e0c18d4e9811ea4597d573b1"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector with 32 elements <a href="#a09108711e0c18d4e9811ea4597d573b1">More...</a><br /></td></tr>
<tr class="separator:a09108711e0c18d4e9811ea4597d573b1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7e175277ee7de6a5aeb5cd8916dbb346"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7e175277ee7de6a5aeb5cd8916dbb346">qint8x16x3_t</a> = int8x16x3_t</td></tr>
-<tr class="memdesc:a7e175277ee7de6a5aeb5cd8916dbb346"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector with 48 elements <a href="#a7e175277ee7de6a5aeb5cd8916dbb346">More...</a><br/></td></tr>
+<tr class="memdesc:a7e175277ee7de6a5aeb5cd8916dbb346"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector with 48 elements <a href="#a7e175277ee7de6a5aeb5cd8916dbb346">More...</a><br /></td></tr>
<tr class="separator:a7e175277ee7de6a5aeb5cd8916dbb346"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3c4b33603ffff71e9f02c4be1a2f14d5"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3c4b33603ffff71e9f02c4be1a2f14d5">qint8x16x4_t</a> = int8x16x4_t</td></tr>
-<tr class="memdesc:a3c4b33603ffff71e9f02c4be1a2f14d5"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector with 64 elements <a href="#a3c4b33603ffff71e9f02c4be1a2f14d5">More...</a><br/></td></tr>
+<tr class="memdesc:a3c4b33603ffff71e9f02c4be1a2f14d5"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector with 64 elements <a href="#a3c4b33603ffff71e9f02c4be1a2f14d5">More...</a><br /></td></tr>
<tr class="separator:a3c4b33603ffff71e9f02c4be1a2f14d5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a82c56f0856f56d430393e6a00baee983"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> = int16x4_t</td></tr>
-<tr class="memdesc:a82c56f0856f56d430393e6a00baee983"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector with 4 elements <a href="#a82c56f0856f56d430393e6a00baee983">More...</a><br/></td></tr>
+<tr class="memdesc:a82c56f0856f56d430393e6a00baee983"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector with 4 elements <a href="#a82c56f0856f56d430393e6a00baee983">More...</a><br /></td></tr>
<tr class="separator:a82c56f0856f56d430393e6a00baee983"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8d57e0f4f122442011213667168ef538"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8d57e0f4f122442011213667168ef538">qint16x4x2_t</a> = int16x4x2_t</td></tr>
-<tr class="memdesc:a8d57e0f4f122442011213667168ef538"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector with 8 elements <a href="#a8d57e0f4f122442011213667168ef538">More...</a><br/></td></tr>
+<tr class="memdesc:a8d57e0f4f122442011213667168ef538"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector with 8 elements <a href="#a8d57e0f4f122442011213667168ef538">More...</a><br /></td></tr>
<tr class="separator:a8d57e0f4f122442011213667168ef538"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a63f034ee885f20111e7f5d44e48e6d93"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a63f034ee885f20111e7f5d44e48e6d93">qint16x4x3_t</a> = int16x4x3_t</td></tr>
-<tr class="memdesc:a63f034ee885f20111e7f5d44e48e6d93"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector with 12 elements <a href="#a63f034ee885f20111e7f5d44e48e6d93">More...</a><br/></td></tr>
+<tr class="memdesc:a63f034ee885f20111e7f5d44e48e6d93"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector with 12 elements <a href="#a63f034ee885f20111e7f5d44e48e6d93">More...</a><br /></td></tr>
<tr class="separator:a63f034ee885f20111e7f5d44e48e6d93"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8525b18a2f34c3497bbfbd0e7c3a7875"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8525b18a2f34c3497bbfbd0e7c3a7875">qint16x4x4_t</a> = int16x4x4_t</td></tr>
-<tr class="memdesc:a8525b18a2f34c3497bbfbd0e7c3a7875"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector with 16 elements <a href="#a8525b18a2f34c3497bbfbd0e7c3a7875">More...</a><br/></td></tr>
+<tr class="memdesc:a8525b18a2f34c3497bbfbd0e7c3a7875"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector with 16 elements <a href="#a8525b18a2f34c3497bbfbd0e7c3a7875">More...</a><br /></td></tr>
<tr class="separator:a8525b18a2f34c3497bbfbd0e7c3a7875"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4e15143176bfacdde8b06f4bb0b67427"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> = int16x8_t</td></tr>
-<tr class="memdesc:a4e15143176bfacdde8b06f4bb0b67427"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector with 8 elements <a href="#a4e15143176bfacdde8b06f4bb0b67427">More...</a><br/></td></tr>
+<tr class="memdesc:a4e15143176bfacdde8b06f4bb0b67427"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector with 8 elements <a href="#a4e15143176bfacdde8b06f4bb0b67427">More...</a><br /></td></tr>
<tr class="separator:a4e15143176bfacdde8b06f4bb0b67427"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3c4099e91913f28017e1f57b8e5cbf9f"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a> = int16x8x2_t</td></tr>
-<tr class="memdesc:a3c4099e91913f28017e1f57b8e5cbf9f"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector with 16 elements <a href="#a3c4099e91913f28017e1f57b8e5cbf9f">More...</a><br/></td></tr>
+<tr class="memdesc:a3c4099e91913f28017e1f57b8e5cbf9f"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector with 16 elements <a href="#a3c4099e91913f28017e1f57b8e5cbf9f">More...</a><br /></td></tr>
<tr class="separator:a3c4099e91913f28017e1f57b8e5cbf9f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a65e109cf43ade8a2a3c57a1120b90b05"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a65e109cf43ade8a2a3c57a1120b90b05">qint16x8x3_t</a> = int16x8x3_t</td></tr>
-<tr class="memdesc:a65e109cf43ade8a2a3c57a1120b90b05"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector with 24 elements <a href="#a65e109cf43ade8a2a3c57a1120b90b05">More...</a><br/></td></tr>
+<tr class="memdesc:a65e109cf43ade8a2a3c57a1120b90b05"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector with 24 elements <a href="#a65e109cf43ade8a2a3c57a1120b90b05">More...</a><br /></td></tr>
<tr class="separator:a65e109cf43ade8a2a3c57a1120b90b05"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6bc1e8d62f1055278d8f05454faa422f"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6bc1e8d62f1055278d8f05454faa422f">qint16x8x4_t</a> = int16x8x4_t</td></tr>
-<tr class="memdesc:a6bc1e8d62f1055278d8f05454faa422f"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector with 32 elements <a href="#a6bc1e8d62f1055278d8f05454faa422f">More...</a><br/></td></tr>
+<tr class="memdesc:a6bc1e8d62f1055278d8f05454faa422f"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector with 32 elements <a href="#a6bc1e8d62f1055278d8f05454faa422f">More...</a><br /></td></tr>
<tr class="separator:a6bc1e8d62f1055278d8f05454faa422f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:addcffa8e8086154c0449c23e6b0dff83"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#addcffa8e8086154c0449c23e6b0dff83">qint32x2_t</a> = int32x2_t</td></tr>
-<tr class="memdesc:addcffa8e8086154c0449c23e6b0dff83"><td class="mdescLeft"> </td><td class="mdescRight">32 bit fixed point vector with 2 elements <a href="#addcffa8e8086154c0449c23e6b0dff83">More...</a><br/></td></tr>
+<tr class="memdesc:addcffa8e8086154c0449c23e6b0dff83"><td class="mdescLeft"> </td><td class="mdescRight">32 bit fixed point vector with 2 elements <a href="#addcffa8e8086154c0449c23e6b0dff83">More...</a><br /></td></tr>
<tr class="separator:addcffa8e8086154c0449c23e6b0dff83"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abd854c117af4dbd12633db2fbc01dd49"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> = int32x4_t</td></tr>
-<tr class="memdesc:abd854c117af4dbd12633db2fbc01dd49"><td class="mdescLeft"> </td><td class="mdescRight">32 bit fixed point vector with 4 elements <a href="#abd854c117af4dbd12633db2fbc01dd49">More...</a><br/></td></tr>
+<tr class="memdesc:abd854c117af4dbd12633db2fbc01dd49"><td class="mdescLeft"> </td><td class="mdescRight">32 bit fixed point vector with 4 elements <a href="#abd854c117af4dbd12633db2fbc01dd49">More...</a><br /></td></tr>
<tr class="separator:abd854c117af4dbd12633db2fbc01dd49"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6ed7f8448a2a08a531e8202334e4dcdd"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6ed7f8448a2a08a531e8202334e4dcdd">qint32x4x2_t</a> = int32x4x2_t</td></tr>
-<tr class="memdesc:a6ed7f8448a2a08a531e8202334e4dcdd"><td class="mdescLeft"> </td><td class="mdescRight">32 bit fixed point vector with 8 elements <a href="#a6ed7f8448a2a08a531e8202334e4dcdd">More...</a><br/></td></tr>
+<tr class="memdesc:a6ed7f8448a2a08a531e8202334e4dcdd"><td class="mdescLeft"> </td><td class="mdescRight">32 bit fixed point vector with 8 elements <a href="#a6ed7f8448a2a08a531e8202334e4dcdd">More...</a><br /></td></tr>
<tr class="separator:a6ed7f8448a2a08a531e8202334e4dcdd"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab8938bcb3ec0f5f8d93285eb3a28b701"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab8938bcb3ec0f5f8d93285eb3a28b701">qasymm8_t</a> = uint8_t</td></tr>
+<tr class="memdesc:ab8938bcb3ec0f5f8d93285eb3a28b701"><td class="mdescLeft"> </td><td class="mdescRight">8 bit quantized asymmetric scalar value <a href="#ab8938bcb3ec0f5f8d93285eb3a28b701">More...</a><br /></td></tr>
+<tr class="separator:ab8938bcb3ec0f5f8d93285eb3a28b701"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a73e2825fd61d349c5ca2f5313e3c8ea1"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a> = half_float::half</td></tr>
-<tr class="memdesc:a73e2825fd61d349c5ca2f5313e3c8ea1"><td class="mdescLeft"> </td><td class="mdescRight">16-bit floating point type <a href="#a73e2825fd61d349c5ca2f5313e3c8ea1">More...</a><br/></td></tr>
+<tr class="memdesc:a73e2825fd61d349c5ca2f5313e3c8ea1"><td class="mdescLeft"> </td><td class="mdescRight">16-bit floating point type <a href="#a73e2825fd61d349c5ca2f5313e3c8ea1">More...</a><br /></td></tr>
<tr class="separator:a73e2825fd61d349c5ca2f5313e3c8ea1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a33e65be485104e2e9e69fca551d6f492"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a33e65be485104e2e9e69fca551d6f492">PermutationVector</a> = <a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a></td></tr>
+<tr class="memdesc:a33e65be485104e2e9e69fca551d6f492"><td class="mdescLeft"> </td><td class="mdescRight">Permutation vector. <a href="#a33e65be485104e2e9e69fca551d6f492">More...</a><br /></td></tr>
+<tr class="separator:a33e65be485104e2e9e69fca551d6f492"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4467b302fc9ec312c40580336ab783da"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4467b302fc9ec312c40580336ab783da">PaddingSize</a> = <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a></td></tr>
<tr class="separator:a4467b302fc9ec312c40580336ab783da"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2ab89a5d0959531aac270879cdd3ed78"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2ab89a5d0959531aac270879cdd3ed78">InternalKeypoint</a> = std::tuple< float, float, float ></td></tr>
@@ -1866,13 +2202,13 @@
<tr class="memitem:aae712f442eae2d56d17529ca6cb9cb77"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aae712f442eae2d56d17529ca6cb9cb77">CLImage</a> = <a class="el" href="classarm__compute_1_1_c_l_tensor.xhtml">CLTensor</a></td></tr>
<tr class="separator:aae712f442eae2d56d17529ca6cb9cb77"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a843447b81f09d837e90d44e6e6bd236d"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a843447b81f09d837e90d44e6e6bd236d">CLConvolution5x5</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_square.xhtml">CLConvolutionSquare</a>< 5 ></td></tr>
-<tr class="memdesc:a843447b81f09d837e90d44e6e6bd236d"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run 5x5 convolution. <a href="#a843447b81f09d837e90d44e6e6bd236d">More...</a><br/></td></tr>
+<tr class="memdesc:a843447b81f09d837e90d44e6e6bd236d"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run 5x5 convolution. <a href="#a843447b81f09d837e90d44e6e6bd236d">More...</a><br /></td></tr>
<tr class="separator:a843447b81f09d837e90d44e6e6bd236d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1992a8362b7074e709394a5219d16e62"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1992a8362b7074e709394a5219d16e62">CLConvolution7x7</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_square.xhtml">CLConvolutionSquare</a>< 7 ></td></tr>
-<tr class="memdesc:a1992a8362b7074e709394a5219d16e62"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run 7x7 convolution. <a href="#a1992a8362b7074e709394a5219d16e62">More...</a><br/></td></tr>
+<tr class="memdesc:a1992a8362b7074e709394a5219d16e62"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run 7x7 convolution. <a href="#a1992a8362b7074e709394a5219d16e62">More...</a><br /></td></tr>
<tr class="separator:a1992a8362b7074e709394a5219d16e62"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a587dee5d7f05d5e9c3b8704ae8927101"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a587dee5d7f05d5e9c3b8704ae8927101">CLConvolution9x9</a> = <a class="el" href="classarm__compute_1_1_c_l_convolution_square.xhtml">CLConvolutionSquare</a>< 9 ></td></tr>
-<tr class="memdesc:a587dee5d7f05d5e9c3b8704ae8927101"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run 9x9 convolution. <a href="#a587dee5d7f05d5e9c3b8704ae8927101">More...</a><br/></td></tr>
+<tr class="memdesc:a587dee5d7f05d5e9c3b8704ae8927101"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run 9x9 convolution. <a href="#a587dee5d7f05d5e9c3b8704ae8927101">More...</a><br /></td></tr>
<tr class="separator:a587dee5d7f05d5e9c3b8704ae8927101"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af87af588094f04e537df98eaf0426cb6"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af87af588094f04e537df98eaf0426cb6">ICLTensor</a> = <a class="el" href="namespacearm__compute.xhtml#aa80145f30ddae0c2ccbcaa910e3e71dd">ICLImage</a></td></tr>
<tr class="separator:af87af588094f04e537df98eaf0426cb6"><td class="memSeparator" colspan="2"> </td></tr>
@@ -1882,16 +2218,18 @@
<tr class="separator:afcef84cf3b7d147b2b6ab0bd884afc16"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4ec6965f606c588137f7a48d84c1d6f0"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4ec6965f606c588137f7a48d84c1d6f0">CLOldValueArray</a> = <a class="el" href="classarm__compute_1_1_c_l_array.xhtml">CLArray</a>< <a class="el" href="structarm__compute_1_1_c_l_old_value.xhtml">CLOldValue</a> ></td></tr>
<tr class="separator:a4ec6965f606c588137f7a48d84c1d6f0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0b1d72d612fb6f33393ea6cd6cbcf523"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0b1d72d612fb6f33393ea6cd6cbcf523">GCImage</a> = <a class="el" href="classarm__compute_1_1_g_c_tensor.xhtml">GCTensor</a></td></tr>
+<tr class="separator:a0b1d72d612fb6f33393ea6cd6cbcf523"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0e7a03e2e133cb1fbb12517a3f646a09"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0e7a03e2e133cb1fbb12517a3f646a09">MemoryGroup</a> = <a class="el" href="classarm__compute_1_1_memory_group_base.xhtml">MemoryGroupBase</a>< <a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a> ></td></tr>
<tr class="separator:a0e7a03e2e133cb1fbb12517a3f646a09"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:adbc7771d367ba8f51da1450d3602e5c0"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adbc7771d367ba8f51da1450d3602e5c0">NEConvolution5x5</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a>< 5 ></td></tr>
-<tr class="memdesc:adbc7771d367ba8f51da1450d3602e5c0"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run 5x5 convolution. <a href="#adbc7771d367ba8f51da1450d3602e5c0">More...</a><br/></td></tr>
+<tr class="memdesc:adbc7771d367ba8f51da1450d3602e5c0"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run 5x5 convolution. <a href="#adbc7771d367ba8f51da1450d3602e5c0">More...</a><br /></td></tr>
<tr class="separator:adbc7771d367ba8f51da1450d3602e5c0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aeb2682fbeb2766df26b4be1971c9757d"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aeb2682fbeb2766df26b4be1971c9757d">NEConvolution7x7</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a>< 7 ></td></tr>
-<tr class="memdesc:aeb2682fbeb2766df26b4be1971c9757d"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run 7x7 convolution. <a href="#aeb2682fbeb2766df26b4be1971c9757d">More...</a><br/></td></tr>
+<tr class="memdesc:aeb2682fbeb2766df26b4be1971c9757d"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run 7x7 convolution. <a href="#aeb2682fbeb2766df26b4be1971c9757d">More...</a><br /></td></tr>
<tr class="separator:aeb2682fbeb2766df26b4be1971c9757d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae5a088552f26a1afafd0cbf821d256fb"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae5a088552f26a1afafd0cbf821d256fb">NEConvolution9x9</a> = <a class="el" href="classarm__compute_1_1_n_e_convolution_square.xhtml">NEConvolutionSquare</a>< 9 ></td></tr>
-<tr class="memdesc:ae5a088552f26a1afafd0cbf821d256fb"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run 9x9 convolution. <a href="#ae5a088552f26a1afafd0cbf821d256fb">More...</a><br/></td></tr>
+<tr class="memdesc:ae5a088552f26a1afafd0cbf821d256fb"><td class="mdescLeft"> </td><td class="mdescRight">Basic function to run 9x9 convolution. <a href="#ae5a088552f26a1afafd0cbf821d256fb">More...</a><br /></td></tr>
<tr class="separator:ae5a088552f26a1afafd0cbf821d256fb"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a681c120e2188371794ec3a59768c64ab"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a681c120e2188371794ec3a59768c64ab">LKInternalKeypointArray</a> = <a class="el" href="classarm__compute_1_1_array.xhtml">Array</a>< <a class="el" href="structarm__compute_1_1_n_e_l_k_internal_keypoint.xhtml">NELKInternalKeypoint</a> ></td></tr>
<tr class="separator:a681c120e2188371794ec3a59768c64ab"><td class="memSeparator" colspan="2"> </td></tr>
@@ -1900,474 +2238,515 @@
<tr class="memitem:a7fb6a368d181ef193475f725c713430a"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7fb6a368d181ef193475f725c713430a">Image</a> = <a class="el" href="classarm__compute_1_1_tensor.xhtml">Tensor</a></td></tr>
<tr class="separator:a7fb6a368d181ef193475f725c713430a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a762c7da7319adcc433b3ac7a67e18ed5"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a762c7da7319adcc433b3ac7a67e18ed5">MemoryMappings</a> = std::map< void **, size_t ></td></tr>
-<tr class="memdesc:a762c7da7319adcc433b3ac7a67e18ed5"><td class="mdescLeft"> </td><td class="mdescRight">A map of (handle, index/offset), where handle is the memory handle of the object to provide the memory for and index/offset is the buffer/offset from the pool that should be used. <a href="#a762c7da7319adcc433b3ac7a67e18ed5">More...</a><br/></td></tr>
+<tr class="memdesc:a762c7da7319adcc433b3ac7a67e18ed5"><td class="mdescLeft"> </td><td class="mdescRight">A map of (handle, index/offset), where handle is the memory handle of the object to provide the memory for and index/offset is the buffer/offset from the pool that should be used. <a href="#a762c7da7319adcc433b3ac7a67e18ed5">More...</a><br /></td></tr>
<tr class="separator:a762c7da7319adcc433b3ac7a67e18ed5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad2398d0f2ce77c10bbebf1f85317dde5"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad2398d0f2ce77c10bbebf1f85317dde5">GroupMappings</a> = std::map< size_t, <a class="el" href="namespacearm__compute.xhtml#a762c7da7319adcc433b3ac7a67e18ed5">MemoryMappings</a> ></td></tr>
-<tr class="memdesc:ad2398d0f2ce77c10bbebf1f85317dde5"><td class="mdescLeft"> </td><td class="mdescRight">A map of the groups and memory mappings. <a href="#ad2398d0f2ce77c10bbebf1f85317dde5">More...</a><br/></td></tr>
+<tr class="memdesc:ad2398d0f2ce77c10bbebf1f85317dde5"><td class="mdescLeft"> </td><td class="mdescRight">A map of the groups and memory mappings. <a href="#ad2398d0f2ce77c10bbebf1f85317dde5">More...</a><br /></td></tr>
<tr class="separator:ad2398d0f2ce77c10bbebf1f85317dde5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:acded863dbfdd730829d4188d67eefcf0"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acded863dbfdd730829d4188d67eefcf0">Mutex</a> = std::mutex</td></tr>
<tr class="separator:acded863dbfdd730829d4188d67eefcf0"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
-<tr class="memitem:a735ac6c2a02e320969625308810444f3"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> { <br/>
+<tr class="memitem:a735ac6c2a02e320969625308810444f3"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> { <br />
  <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82">GPU_ARCH_MASK</a> = 0xF00,
<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">MIDGARD</a> = 0x100,
<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">BIFROST</a> = 0x200,
<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673">T600</a> = 0x110,
-<br/>
+<br />
  <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">T700</a> = 0x120,
<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048">T800</a> = 0x130,
<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a0a91b0ff027767625b7d1a924e10c298">G70</a> = 0x210
-<br/>
- }</td></tr>
-<tr class="memdesc:a735ac6c2a02e320969625308810444f3"><td class="mdescLeft"> </td><td class="mdescRight">Available GPU Targets. <a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">More...</a><br/></td></tr>
+<br />
+ }<tr class="memdesc:a735ac6c2a02e320969625308810444f3"><td class="mdescLeft"> </td><td class="mdescRight">Available GPU Targets. <a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">More...</a><br /></td></tr>
+</td></tr>
<tr class="separator:a735ac6c2a02e320969625308810444f3"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a3a440b3893fa10608d4428958be1c52e"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52e">CLVersion</a> { <br/>
+<tr class="memitem:a3a440b3893fa10608d4428958be1c52e"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52e">CLVersion</a> { <br />
  <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a">CL10</a>,
<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3">CL11</a>,
<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675">CL12</a>,
<a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab">CL20</a>,
-<br/>
+<br />
  <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>
-<br/>
+<br />
}</td></tr>
<tr class="separator:a3a440b3893fa10608d4428958be1c52e"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a5bc939238e1f14a4c39aaee8186a853d"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853d">CPUTarget</a> { <br/>
+<tr class="memitem:a5bc939238e1f14a4c39aaee8186a853d"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853d">CPUTarget</a> { <br />
  <a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da7bb4605304408687bbcfe83a1c85c5d2">ARCH_MASK</a> = 0x0F00,
<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da189a7dee91b2b03205881c665cfc9ac5">CPU_MODEL</a> = 0x00FF,
<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dac945a6a364e6bb4138f727c809f1ba22">INTRINSICS</a> = 0x0100,
<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da45a830a4c6240ac27c392266589a630c">ARMV7</a> = 0x0200,
-<br/>
+<br />
  <a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dae756f50f85aff43114661560586b0cdd">ARMV8</a> = 0x0300,
<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da3d16766c34a116d6c2a9c5bc116f8f3d">ARMV8_2</a> = 0x0400,
<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da2e661c06783635c6781ed83ba9091a0e">A7x</a> = 0x0070,
<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da58cf3eba9701a090bfa99b54df20eced">A5x</a> = 0x0050,
-<br/>
+<br />
  <a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782">DOT</a> = 0x1000,
<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853daecf3e2493afebcfefb0b9b86bd50ef0d">A53</a> = (ARMV8 | A7x | 0x3),
<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da83a0ae9a921c5de44da55ab444611649">A55</a> = (ARMV8_2 | A5x | 0x5),
<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da8a2396eb11e41f727e6cdaa783d7d893">A55_DOT</a> = (A55 | DOT),
-<br/>
+<br />
  <a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da05f60b9c3ca8212c8ebeb166d58bc937">A72</a> = (ARMV8 | A7x | 0x2),
<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853daaf79f683ceaea4650b20e898d6c4c373">A73</a> = (ARMV8 | A7x | 0x3),
<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dadb48626fe69fc2fa2191287510a76831">A75</a> = (ARMV8_2 | A7x | 0x5),
<a class="el" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da3ccaa97eef88d0725900d73d2c54aa15">A75_DOT</a> = (A75 | DOT)
-<br/>
- }</td></tr>
-<tr class="memdesc:a5bc939238e1f14a4c39aaee8186a853d"><td class="mdescLeft"> </td><td class="mdescRight">Available CPU Targets. <a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853d">More...</a><br/></td></tr>
+<br />
+ }<tr class="memdesc:a5bc939238e1f14a4c39aaee8186a853d"><td class="mdescLeft"> </td><td class="mdescRight">Available CPU Targets. <a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853d">More...</a><br /></td></tr>
+</td></tr>
<tr class="separator:a5bc939238e1f14a4c39aaee8186a853d"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:afb2e0528558bbb0131d2cb41a66c13d7"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afb2e0528558bbb0131d2cb41a66c13d7">LoggerVerbosity</a> { <a class="el" href="namespacearm__compute.xhtml#afb2e0528558bbb0131d2cb41a66c13d7ab50339a10e1de285ac99d4c3990b8693">NONE</a>,
-<a class="el" href="namespacearm__compute.xhtml#afb2e0528558bbb0131d2cb41a66c13d7a551b723eafd6a31d444fcb2f5920fbd3">INFO</a>
+<tr class="memitem:a59e56af19e754a6aa26a612ebf91d05f"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a> { <a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fae0aa021e21dddbd6d8cecec71e9cf564">OK</a>,
+<a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579">RUNTIME_ERROR</a>
}</td></tr>
-<tr class="memdesc:afb2e0528558bbb0131d2cb41a66c13d7"><td class="mdescLeft"> </td><td class="mdescRight">< Verbosity of the logger <a href="namespacearm__compute.xhtml#afb2e0528558bbb0131d2cb41a66c13d7">More...</a><br/></td></tr>
-<tr class="separator:afb2e0528558bbb0131d2cb41a66c13d7"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ab4e88c89b3b7ea1735996cc4def22d58"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> { <br/>
+<tr class="separator:a59e56af19e754a6aa26a612ebf91d05f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:add6426cbf2e057a195846d4ba09a50be"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> { <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06">TO_ZERO</a>,
+<a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">TO_NEAREST_UP</a>,
+<a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">TO_NEAREST_EVEN</a>
+ }<tr class="memdesc:add6426cbf2e057a195846d4ba09a50be"><td class="mdescLeft"> </td><td class="mdescRight">Rounding method. <a href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">More...</a><br /></td></tr>
+</td></tr>
+<tr class="separator:add6426cbf2e057a195846d4ba09a50be"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab4e88c89b3b7ea1735996cc4def22d58"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> { <br />
  <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>,
<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>,
<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,
-<br/>
+<br />
  <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,
<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,
<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,
<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,
-<br/>
+<br />
  <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>,
<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>,
<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>,
<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>,
-<br/>
+<br />
  <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>,
<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>,
<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>,
<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>,
-<br/>
+<br />
  <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>
-<br/>
- }</td></tr>
-<tr class="memdesc:ab4e88c89b3b7ea1735996cc4def22d58"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> colour formats. <a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">More...</a><br/></td></tr>
+<br />
+ }<tr class="memdesc:ab4e88c89b3b7ea1735996cc4def22d58"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> colour formats. <a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">More...</a><br /></td></tr>
+</td></tr>
<tr class="separator:ab4e88c89b3b7ea1735996cc4def22d58"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ad8ed01ff3ff33333d8e19db4d2818bb6"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> { <br/>
+<tr class="memitem:ad8ed01ff3ff33333d8e19db4d2818bb6"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> { <br />
  <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a6669348b484e3008dca2bfa8e85e40b5">U8</a>,
<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>,
<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>,
-<br/>
-  <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,
+<br />
+  <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>,
+<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,
<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a6e0b0886efb94aec797f6b830329b72c">S16</a>,
<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>,
-<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,
-<br/>
-  <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,
+<br />
+  <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,
+<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,
<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>,
<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>,
-<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>,
-<br/>
-  <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,
+<br />
+  <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>,
+<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,
<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,
<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>,
-<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>
-<br/>
- }</td></tr>
-<tr class="memdesc:ad8ed01ff3ff33333d8e19db4d2818bb6"><td class="mdescLeft"> </td><td class="mdescRight">Available data types. <a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">More...</a><br/></td></tr>
+<br />
+  <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>
+<br />
+ }<tr class="memdesc:ad8ed01ff3ff33333d8e19db4d2818bb6"><td class="mdescLeft"> </td><td class="mdescRight">Available data types. <a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">More...</a><br /></td></tr>
+</td></tr>
<tr class="separator:ad8ed01ff3ff33333d8e19db4d2818bb6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a16a59381d4d74d17d86d69eb4d286d7b"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">SamplingPolicy</a> { <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e">CENTER</a>,
+<a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1">TOP_LEFT</a>
+ }<tr class="memdesc:a16a59381d4d74d17d86d69eb4d286d7b"><td class="mdescLeft"> </td><td class="mdescRight">Available Sampling Policies. <a href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">More...</a><br /></td></tr>
+</td></tr>
+<tr class="separator:a16a59381d4d74d17d86d69eb4d286d7b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a15a05537a472ee742404821851529327"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> { <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>,
<a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>,
<a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>
- }</td></tr>
-<tr class="memdesc:a15a05537a472ee742404821851529327"><td class="mdescLeft"> </td><td class="mdescRight">Methods available to handle borders. <a href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">More...</a><br/></td></tr>
+ }<tr class="memdesc:a15a05537a472ee742404821851529327"><td class="mdescLeft"> </td><td class="mdescRight">Methods available to handle borders. <a href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">More...</a><br /></td></tr>
+</td></tr>
<tr class="separator:a15a05537a472ee742404821851529327"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a82b8ac759c804bc1fb4e2d21e178fb6f"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a> { <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>,
<a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a>
- }</td></tr>
-<tr class="memdesc:a82b8ac759c804bc1fb4e2d21e178fb6f"><td class="mdescLeft"> </td><td class="mdescRight">Policy to handle overflow. <a href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">More...</a><br/></td></tr>
+ }<tr class="memdesc:a82b8ac759c804bc1fb4e2d21e178fb6f"><td class="mdescLeft"> </td><td class="mdescRight">Policy to handle overflow. <a href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">More...</a><br /></td></tr>
+</td></tr>
<tr class="separator:a82b8ac759c804bc1fb4e2d21e178fb6f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a966a9c417ce5e94dca08d9b5e745c0c9"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> { <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>,
<a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>,
<a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>
- }</td></tr>
-<tr class="memdesc:a966a9c417ce5e94dca08d9b5e745c0c9"><td class="mdescLeft"> </td><td class="mdescRight">Interpolation method. <a href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">More...</a><br/></td></tr>
+ }<tr class="memdesc:a966a9c417ce5e94dca08d9b5e745c0c9"><td class="mdescLeft"> </td><td class="mdescRight">Interpolation method. <a href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">More...</a><br /></td></tr>
+</td></tr>
<tr class="separator:a966a9c417ce5e94dca08d9b5e745c0c9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2d8a00f1d80a53ce8f75fa929c873202"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202">BilinearInterpolation</a> { <a class="el" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">BILINEAR_OLD_NEW</a>,
<a class="el" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a>
- }</td></tr>
-<tr class="memdesc:a2d8a00f1d80a53ce8f75fa929c873202"><td class="mdescLeft"> </td><td class="mdescRight">Bilinear Interpolation method used by LKTracker. <a href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202">More...</a><br/></td></tr>
+ }<tr class="memdesc:a2d8a00f1d80a53ce8f75fa929c873202"><td class="mdescLeft"> </td><td class="mdescRight">Bilinear Interpolation method used by LKTracker. <a href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202">More...</a><br /></td></tr>
+</td></tr>
<tr class="separator:a2d8a00f1d80a53ce8f75fa929c873202"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3e6b23e675649b83240691abbc42a649"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649">ThresholdType</a> { <a class="el" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452">BINARY</a>,
<a class="el" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a>
- }</td></tr>
-<tr class="memdesc:a3e6b23e675649b83240691abbc42a649"><td class="mdescLeft"> </td><td class="mdescRight">Threshold mode. <a href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649">More...</a><br/></td></tr>
+ }<tr class="memdesc:a3e6b23e675649b83240691abbc42a649"><td class="mdescLeft"> </td><td class="mdescRight">Threshold mode. <a href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649">More...</a><br /></td></tr>
+</td></tr>
<tr class="separator:a3e6b23e675649b83240691abbc42a649"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:add6426cbf2e057a195846d4ba09a50be"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> { <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06">TO_ZERO</a>,
-<a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">TO_NEAREST_UP</a>,
-<a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">TO_NEAREST_EVEN</a>
- }</td></tr>
-<tr class="memdesc:add6426cbf2e057a195846d4ba09a50be"><td class="mdescLeft"> </td><td class="mdescRight">Rounding method. <a href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">More...</a><br/></td></tr>
-<tr class="separator:add6426cbf2e057a195846d4ba09a50be"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a08c1503414e23f5dd10ff83492685453"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">Termination</a> { <a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>,
<a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>,
<a class="el" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a>
- }</td></tr>
-<tr class="memdesc:a08c1503414e23f5dd10ff83492685453"><td class="mdescLeft"> </td><td class="mdescRight">Termination criteria. <a href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">More...</a><br/></td></tr>
+ }<tr class="memdesc:a08c1503414e23f5dd10ff83492685453"><td class="mdescLeft"> </td><td class="mdescRight">Termination criteria. <a href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453">More...</a><br /></td></tr>
+</td></tr>
<tr class="separator:a08c1503414e23f5dd10ff83492685453"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7b3ec6413f000b02fdb4e39a951d9f8a"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">MagnitudeType</a> { <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">L1NORM</a>,
<a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a>
- }</td></tr>
-<tr class="memdesc:a7b3ec6413f000b02fdb4e39a951d9f8a"><td class="mdescLeft"> </td><td class="mdescRight">Magnitude calculation type. <a href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">More...</a><br/></td></tr>
+ }<tr class="memdesc:a7b3ec6413f000b02fdb4e39a951d9f8a"><td class="mdescLeft"> </td><td class="mdescRight">Magnitude calculation type. <a href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">More...</a><br /></td></tr>
+</td></tr>
<tr class="separator:a7b3ec6413f000b02fdb4e39a951d9f8a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af00a42ecad444bbda75cde1b64bd7e72"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">PhaseType</a> { <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">SIGNED</a>,
<a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a>
- }</td></tr>
-<tr class="memdesc:af00a42ecad444bbda75cde1b64bd7e72"><td class="mdescLeft"> </td><td class="mdescRight">Phase calculation type. <a href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">More...</a><br/></td></tr>
+ }<tr class="memdesc:af00a42ecad444bbda75cde1b64bd7e72"><td class="mdescLeft"> </td><td class="mdescRight">Phase calculation type. <a href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">More...</a><br /></td></tr>
+</td></tr>
<tr class="separator:af00a42ecad444bbda75cde1b64bd7e72"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a1ce9b523fd4f3b5bbcadcd796183455a"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> { <br/>
+<tr class="memitem:a1ce9b523fd4f3b5bbcadcd796183455a"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> { <br />
  <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,
<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>,
<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>,
<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>,
-<br/>
+<br />
  <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>,
<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>,
<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>,
<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>,
-<br/>
+<br />
  <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>,
<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>,
<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>,
<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>
-<br/>
- }</td></tr>
-<tr class="memdesc:a1ce9b523fd4f3b5bbcadcd796183455a"><td class="mdescLeft"> </td><td class="mdescRight">Available channels. <a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">More...</a><br/></td></tr>
+<br />
+ }<tr class="memdesc:a1ce9b523fd4f3b5bbcadcd796183455a"><td class="mdescLeft"> </td><td class="mdescRight">Available channels. <a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">More...</a><br /></td></tr>
+</td></tr>
<tr class="separator:a1ce9b523fd4f3b5bbcadcd796183455a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:afdda916edc7502967bbec17ea3c06c02"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> { <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>,
<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>,
<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>,
<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a>
- }</td></tr>
-<tr class="memdesc:afdda916edc7502967bbec17ea3c06c02"><td class="mdescLeft"> </td><td class="mdescRight">Available matrix patterns. <a href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">More...</a><br/></td></tr>
+ }<tr class="memdesc:afdda916edc7502967bbec17ea3c06c02"><td class="mdescLeft"> </td><td class="mdescRight">Available matrix patterns. <a href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">More...</a><br /></td></tr>
+</td></tr>
<tr class="separator:afdda916edc7502967bbec17ea3c06c02"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:adf2ced65e536375a1c96425d9fced858"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> : unsigned { <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a> = 0,
<a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a> = 1,
<a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a> = 2
- }</td></tr>
-<tr class="memdesc:adf2ced65e536375a1c96425d9fced858"><td class="mdescLeft"> </td><td class="mdescRight">Available non linear functions. <a href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">More...</a><br/></td></tr>
+ }<tr class="memdesc:adf2ced65e536375a1c96425d9fced858"><td class="mdescLeft"> </td><td class="mdescRight">Available non linear functions. <a href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">More...</a><br /></td></tr>
+</td></tr>
<tr class="separator:adf2ced65e536375a1c96425d9fced858"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5827eb9cb394e74af87f74bd354fb45b"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">ReductionOperation</a> { <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>,
<a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">SUM</a>
- }</td></tr>
-<tr class="memdesc:a5827eb9cb394e74af87f74bd354fb45b"><td class="mdescLeft"> </td><td class="mdescRight">Available reduction operations. <a href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">More...</a><br/></td></tr>
+ }<tr class="memdesc:a5827eb9cb394e74af87f74bd354fb45b"><td class="mdescLeft"> </td><td class="mdescRight">Available reduction operations. <a href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">More...</a><br /></td></tr>
+</td></tr>
<tr class="separator:a5827eb9cb394e74af87f74bd354fb45b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad4bb8dabdbf8ad75e34220cc666b59ca"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> { <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">IN_MAP_1D</a>,
<a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>,
<a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a>
- }</td></tr>
-<tr class="memdesc:ad4bb8dabdbf8ad75e34220cc666b59ca"><td class="mdescLeft"> </td><td class="mdescRight">The normalization type used for the normalization layer. <a href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">More...</a><br/></td></tr>
+ }<tr class="memdesc:ad4bb8dabdbf8ad75e34220cc666b59ca"><td class="mdescLeft"> </td><td class="mdescRight">The normalization type used for the normalization layer. <a href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">More...</a><br /></td></tr>
+</td></tr>
<tr class="separator:ad4bb8dabdbf8ad75e34220cc666b59ca"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a673665b4587a2956fcbad5f0e9ba89d3"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">HOGNormType</a> { <a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a> = 1,
<a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a> = 2,
<a class="el" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a> = 3
- }</td></tr>
-<tr class="memdesc:a673665b4587a2956fcbad5f0e9ba89d3"><td class="mdescLeft"> </td><td class="mdescRight">Normalization type for Histogram of Oriented Gradients (HOG) <a href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">More...</a><br/></td></tr>
+ }<tr class="memdesc:a673665b4587a2956fcbad5f0e9ba89d3"><td class="mdescLeft"> </td><td class="mdescRight">Normalization type for Histogram of Oriented Gradients (HOG) <a href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3">More...</a><br /></td></tr>
+</td></tr>
<tr class="separator:a673665b4587a2956fcbad5f0e9ba89d3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1fece1bd804e64f39f602d1c3969849a"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849a">DimensionRoundingType</a> { <a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">FLOOR</a>,
<a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a>
- }</td></tr>
-<tr class="memdesc:a1fece1bd804e64f39f602d1c3969849a"><td class="mdescLeft"> </td><td class="mdescRight">Dimension rounding type when down-scaling on CNNs. <a href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849a">More...</a><br/></td></tr>
+ }<tr class="memdesc:a1fece1bd804e64f39f602d1c3969849a"><td class="mdescLeft"> </td><td class="mdescRight">Dimension rounding type when down-scaling on CNNs. <a href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849a">More...</a><br /></td></tr>
+</td></tr>
<tr class="separator:a1fece1bd804e64f39f602d1c3969849a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9172da722f0a434e5cc07c0a3c115d93"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> { <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a26a4b44a837bf97b972628509912b4a5">MAX</a>,
<a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>,
<a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a>
- }</td></tr>
-<tr class="memdesc:a9172da722f0a434e5cc07c0a3c115d93"><td class="mdescLeft"> </td><td class="mdescRight">Available pooling types. <a href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">More...</a><br/></td></tr>
+ }<tr class="memdesc:a9172da722f0a434e5cc07c0a3c115d93"><td class="mdescLeft"> </td><td class="mdescRight">Available pooling types. <a href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">More...</a><br /></td></tr>
+</td></tr>
<tr class="separator:a9172da722f0a434e5cc07c0a3c115d93"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af0a4d6be70322c742c12da1edccbb74d"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74d">MappingType</a> { <a class="el" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e">BLOBS</a>,
<a class="el" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073">OFFSETS</a>
- }</td></tr>
-<tr class="memdesc:af0a4d6be70322c742c12da1edccbb74d"><td class="mdescLeft"> </td><td class="mdescRight">Mapping type. <a href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74d">More...</a><br/></td></tr>
+ }<tr class="memdesc:af0a4d6be70322c742c12da1edccbb74d"><td class="mdescLeft"> </td><td class="mdescRight">Mapping type. <a href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74d">More...</a><br /></td></tr>
+</td></tr>
<tr class="separator:af0a4d6be70322c742c12da1edccbb74d"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:afa20b6a7f4383003babd690f026f22dc"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">FixedPointOp</a> { <br/>
+<tr class="memitem:afa20b6a7f4383003babd690f026f22dc"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">FixedPointOp</a> { <br />
  <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca9eeb52badb613229884838847294b90d">ADD</a>,
<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca241dd841abade20fcb27b8a9f494e1eb">SUB</a>,
<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca2cdf52a55876063ec93b7d18bc741f6c">MUL</a>,
<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7">EXP</a>,
-<br/>
+<br />
  <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3">LOG</a>,
<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b">INV_SQRT</a>,
<a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1">RECIPROCAL</a>
-<br/>
- }</td></tr>
-<tr class="memdesc:afa20b6a7f4383003babd690f026f22dc"><td class="mdescLeft"> </td><td class="mdescRight">Fixed point operation. <a href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">More...</a><br/></td></tr>
+<br />
+ }<tr class="memdesc:afa20b6a7f4383003babd690f026f22dc"><td class="mdescLeft"> </td><td class="mdescRight">Fixed point operation. <a href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">More...</a><br /></td></tr>
+</td></tr>
<tr class="separator:afa20b6a7f4383003babd690f026f22dc"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae46abc5ecac309cbece5c06cb80daaf7"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">GradientDimension</a> { <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc">GRAD_XY</a>
+ }<tr class="memdesc:ae46abc5ecac309cbece5c06cb80daaf7"><td class="mdescLeft"> </td><td class="mdescRight">Gradient dimension type. <a href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">More...</a><br /></td></tr>
+</td></tr>
+<tr class="separator:ae46abc5ecac309cbece5c06cb80daaf7"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ab04905b0c6c0e4091160561eae870101"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab04905b0c6c0e4091160561eae870101">get_cl_type_from_data_type</a> (const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &dt)</td></tr>
-<tr class="memdesc:ab04905b0c6c0e4091160561eae870101"><td class="mdescLeft"> </td><td class="mdescRight">Translates a tensor data type to the appropriate OpenCL type. <a href="#ab04905b0c6c0e4091160561eae870101">More...</a><br/></td></tr>
+<tr class="memdesc:ab04905b0c6c0e4091160561eae870101"><td class="mdescLeft"> </td><td class="mdescRight">Translates a tensor data type to the appropriate OpenCL type. <a href="#ab04905b0c6c0e4091160561eae870101">More...</a><br /></td></tr>
<tr class="separator:ab04905b0c6c0e4091160561eae870101"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae5f4dd9f672832f7dce02fc14487f544"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae5f4dd9f672832f7dce02fc14487f544">get_data_size_from_data_type</a> (const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &dt)</td></tr>
-<tr class="memdesc:ae5f4dd9f672832f7dce02fc14487f544"><td class="mdescLeft"> </td><td class="mdescRight">Get the size of a data type in number of bits. <a href="#ae5f4dd9f672832f7dce02fc14487f544">More...</a><br/></td></tr>
+<tr class="memdesc:ae5f4dd9f672832f7dce02fc14487f544"><td class="mdescLeft"> </td><td class="mdescRight">Get the size of a data type in number of bits. <a href="#ae5f4dd9f672832f7dce02fc14487f544">More...</a><br /></td></tr>
<tr class="separator:ae5f4dd9f672832f7dce02fc14487f544"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:afc95473636a442507fda7ad48f3414c0"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afc95473636a442507fda7ad48f3414c0">get_underlying_cl_type_from_data_type</a> (const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &dt)</td></tr>
-<tr class="memdesc:afc95473636a442507fda7ad48f3414c0"><td class="mdescLeft"> </td><td class="mdescRight">Translates fixed point tensor data type to the underlying OpenCL type. <a href="#afc95473636a442507fda7ad48f3414c0">More...</a><br/></td></tr>
+<tr class="memdesc:afc95473636a442507fda7ad48f3414c0"><td class="mdescLeft"> </td><td class="mdescRight">Translates fixed point tensor data type to the underlying OpenCL type. <a href="#afc95473636a442507fda7ad48f3414c0">More...</a><br /></td></tr>
<tr class="separator:afc95473636a442507fda7ad48f3414c0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:afab814721e78cbfc34e7e7fe2874fa56"><td class="memItemLeft" align="right" valign="top">const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afab814721e78cbfc34e7e7fe2874fa56">string_from_target</a> (<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> target)</td></tr>
-<tr class="memdesc:afab814721e78cbfc34e7e7fe2874fa56"><td class="mdescLeft"> </td><td class="mdescRight">Translates a given gpu device target to string. <a href="#afab814721e78cbfc34e7e7fe2874fa56">More...</a><br/></td></tr>
+<tr class="memdesc:afab814721e78cbfc34e7e7fe2874fa56"><td class="mdescLeft"> </td><td class="mdescRight">Translates a given gpu device target to string. <a href="#afab814721e78cbfc34e7e7fe2874fa56">More...</a><br /></td></tr>
<tr class="separator:afab814721e78cbfc34e7e7fe2874fa56"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a35fb9d1dde1b976f4b7d361aabcc7c0d"><td class="memTemplParams" colspan="2">template<typename Kernel , typename... T> </td></tr>
-<tr class="memitem:a35fb9d1dde1b976f4b7d361aabcc7c0d"><td class="memTemplItemLeft" align="right" valign="top">std::unique_ptr< <a class="el" href="classarm__compute_1_1_kernel.xhtml">Kernel</a> > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a35fb9d1dde1b976f4b7d361aabcc7c0d">create_configure_kernel</a> (T &&...args)</td></tr>
-<tr class="memdesc:a35fb9d1dde1b976f4b7d361aabcc7c0d"><td class="mdescLeft"> </td><td class="mdescRight">Helper function to create and return a unique_ptr pointed to a CL kernel object It also calls the kernel's configuration. <a href="#a35fb9d1dde1b976f4b7d361aabcc7c0d">More...</a><br/></td></tr>
-<tr class="separator:a35fb9d1dde1b976f4b7d361aabcc7c0d"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:abc72c95941485d8a068fa38372308574"><td class="memTemplParams" colspan="2">template<typename Kernel > </td></tr>
-<tr class="memitem:abc72c95941485d8a068fa38372308574"><td class="memTemplItemLeft" align="right" valign="top">std::unique_ptr< <a class="el" href="classarm__compute_1_1_kernel.xhtml">Kernel</a> > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abc72c95941485d8a068fa38372308574">create_kernel</a> ()</td></tr>
-<tr class="memdesc:abc72c95941485d8a068fa38372308574"><td class="mdescLeft"> </td><td class="mdescRight">Helper function to create and return a unique_ptr pointed to a CL kernel object. <a href="#abc72c95941485d8a068fa38372308574">More...</a><br/></td></tr>
-<tr class="separator:abc72c95941485d8a068fa38372308574"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac6a3363c6c627d5720309bb8fa4f3e5f"><td class="memTemplParams" colspan="2">template<typename Kernel , typename... T> </td></tr>
+<tr class="memitem:ac6a3363c6c627d5720309bb8fa4f3e5f"><td class="memTemplItemLeft" align="right" valign="top">std::unique_ptr< <a class="el" href="classarm__compute_1_1_kernel.xhtml">Kernel</a> > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac6a3363c6c627d5720309bb8fa4f3e5f">create_configure_kernel</a> (T &&...args)</td></tr>
+<tr class="memdesc:ac6a3363c6c627d5720309bb8fa4f3e5f"><td class="mdescLeft"> </td><td class="mdescRight">Helper function to create and return a unique_ptr pointed to a CL kernel object It also calls the kernel's configuration. <a href="#ac6a3363c6c627d5720309bb8fa4f3e5f">More...</a><br /></td></tr>
+<tr class="separator:ac6a3363c6c627d5720309bb8fa4f3e5f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5e7625bcc531d297c9b988a33cb2da32"><td class="memTemplParams" colspan="2">template<typename Kernel > </td></tr>
+<tr class="memitem:a5e7625bcc531d297c9b988a33cb2da32"><td class="memTemplItemLeft" align="right" valign="top">std::unique_ptr< <a class="el" href="classarm__compute_1_1_kernel.xhtml">Kernel</a> > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5e7625bcc531d297c9b988a33cb2da32">create_kernel</a> ()</td></tr>
+<tr class="memdesc:a5e7625bcc531d297c9b988a33cb2da32"><td class="mdescLeft"> </td><td class="mdescRight">Helper function to create and return a unique_ptr pointed to a CL kernel object. <a href="#a5e7625bcc531d297c9b988a33cb2da32">More...</a><br /></td></tr>
+<tr class="separator:a5e7625bcc531d297c9b988a33cb2da32"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9d0143bdde8255313aae6ac020dd629c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9d0143bdde8255313aae6ac020dd629c">get_target_from_device</a> (cl::Device &device)</td></tr>
-<tr class="memdesc:a9d0143bdde8255313aae6ac020dd629c"><td class="mdescLeft"> </td><td class="mdescRight">Helper function to get the GPU target from CL device. <a href="#a9d0143bdde8255313aae6ac020dd629c">More...</a><br/></td></tr>
+<tr class="memdesc:a9d0143bdde8255313aae6ac020dd629c"><td class="mdescLeft"> </td><td class="mdescRight">Helper function to get the GPU target from CL device. <a href="#a9d0143bdde8255313aae6ac020dd629c">More...</a><br /></td></tr>
<tr class="separator:a9d0143bdde8255313aae6ac020dd629c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4a351d5c39dec88af98a671da1c43fd6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4a351d5c39dec88af98a671da1c43fd6">get_arch_from_target</a> (<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> target)</td></tr>
-<tr class="memdesc:a4a351d5c39dec88af98a671da1c43fd6"><td class="mdescLeft"> </td><td class="mdescRight">Helper function to get the GPU arch. <a href="#a4a351d5c39dec88af98a671da1c43fd6">More...</a><br/></td></tr>
+<tr class="memdesc:a4a351d5c39dec88af98a671da1c43fd6"><td class="mdescLeft"> </td><td class="mdescRight">Helper function to get the GPU arch. <a href="#a4a351d5c39dec88af98a671da1c43fd6">More...</a><br /></td></tr>
<tr class="separator:a4a351d5c39dec88af98a671da1c43fd6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a54c9b94a266f8065b64f001c47815b68"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52e">CLVersion</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a54c9b94a266f8065b64f001c47815b68">get_cl_version</a> (const cl::Device &device)</td></tr>
-<tr class="memdesc:a54c9b94a266f8065b64f001c47815b68"><td class="mdescLeft"> </td><td class="mdescRight">Helper function to get the highest OpenCL version supported. <a href="#a54c9b94a266f8065b64f001c47815b68">More...</a><br/></td></tr>
+<tr class="memdesc:a54c9b94a266f8065b64f001c47815b68"><td class="mdescLeft"> </td><td class="mdescRight">Helper function to get the highest OpenCL version supported. <a href="#a54c9b94a266f8065b64f001c47815b68">More...</a><br /></td></tr>
<tr class="separator:a54c9b94a266f8065b64f001c47815b68"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7f65c0c2b3ad21f427f6bb25f411e0ce"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7f65c0c2b3ad21f427f6bb25f411e0ce">fp16_support</a> (const cl::Device &device)</td></tr>
+<tr class="memdesc:a7f65c0c2b3ad21f427f6bb25f411e0ce"><td class="mdescLeft"> </td><td class="mdescRight">Helper function to check whether the cl_khr_fp16 extension is supported. <a href="#a7f65c0c2b3ad21f427f6bb25f411e0ce">More...</a><br /></td></tr>
+<tr class="separator:a7f65c0c2b3ad21f427f6bb25f411e0ce"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa2499c7ccf5b1636360a9ac6cc52a67b"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa2499c7ccf5b1636360a9ac6cc52a67b">non_uniform_workgroup_support</a> (const cl::Device &device)</td></tr>
-<tr class="memdesc:aa2499c7ccf5b1636360a9ac6cc52a67b"><td class="mdescLeft"> </td><td class="mdescRight">Helper function to check whether the arm_non_uniform_work_group_size extension is supported. <a href="#aa2499c7ccf5b1636360a9ac6cc52a67b">More...</a><br/></td></tr>
+<tr class="memdesc:aa2499c7ccf5b1636360a9ac6cc52a67b"><td class="mdescLeft"> </td><td class="mdescRight">Helper function to check whether the arm_non_uniform_work_group_size extension is supported. <a href="#aa2499c7ccf5b1636360a9ac6cc52a67b">More...</a><br /></td></tr>
<tr class="separator:aa2499c7ccf5b1636360a9ac6cc52a67b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0f68015f649819f1102aa73d7b88b29e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0f68015f649819f1102aa73d7b88b29e">enqueue</a> (cl::CommandQueue &queue, <a class="el" href="classarm__compute_1_1_i_c_l_kernel.xhtml">ICLKernel</a> &kernel, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &window, const cl::NDRange &lws_hint=<a class="el" href="classarm__compute_1_1_c_l_kernel_library.xhtml#aebe2d25607545d31f2b1ace6d60a81da">CLKernelLibrary::get</a>().default_ndrange())</td></tr>
-<tr class="memdesc:a0f68015f649819f1102aa73d7b88b29e"><td class="mdescLeft"> </td><td class="mdescRight">Add the kernel to the command queue with the given window. <a href="#a0f68015f649819f1102aa73d7b88b29e">More...</a><br/></td></tr>
+<tr class="memdesc:a0f68015f649819f1102aa73d7b88b29e"><td class="mdescLeft"> </td><td class="mdescRight">Add the kernel to the command queue with the given window. <a href="#a0f68015f649819f1102aa73d7b88b29e">More...</a><br /></td></tr>
<tr class="separator:a0f68015f649819f1102aa73d7b88b29e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa4f4d7a58287017588fc338965873f14"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa4f4d7a58287017588fc338965873f14">opencl_is_available</a> ()</td></tr>
<tr class="separator:aa4f4d7a58287017588fc338965873f14"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a096590f2456b9e9bcb8db98175720b60"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
+<tr class="memitem:a096590f2456b9e9bcb8db98175720b60"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a096590f2456b9e9bcb8db98175720b60">operator==</a> (const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>< T > &lhs, const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>< T > &rhs)</td></tr>
+<tr class="separator:a096590f2456b9e9bcb8db98175720b60"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4e3ff85e1f6c648dfbe264f54c147451"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
+<tr class="memitem:a4e3ff85e1f6c648dfbe264f54c147451"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4e3ff85e1f6c648dfbe264f54c147451">operator!=</a> (const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>< T > &lhs, const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>< T > &rhs)</td></tr>
+<tr class="separator:a4e3ff85e1f6c648dfbe264f54c147451"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2edb6ec8bea5c26d7d802d21caf64d02"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2edb6ec8bea5c26d7d802d21caf64d02">create_error_va_list</a> (<a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a> error_code, const char *function, const char *file, const int line, const char *msg, va_list args)</td></tr>
+<tr class="memdesc:a2edb6ec8bea5c26d7d802d21caf64d02"><td class="mdescLeft"> </td><td class="mdescRight">Creates an error containing the error message from variable argument list. <a href="#a2edb6ec8bea5c26d7d802d21caf64d02">More...</a><br /></td></tr>
+<tr class="separator:a2edb6ec8bea5c26d7d802d21caf64d02"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3eee3c80d78ee4574a5eed0af5af919d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3eee3c80d78ee4574a5eed0af5af919d">create_error</a> (<a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a> error_code, const char *function, const char *file, const int line, const char *msg,...)</td></tr>
+<tr class="memdesc:a3eee3c80d78ee4574a5eed0af5af919d"><td class="mdescLeft"> </td><td class="mdescRight">Creates an error containing the error message. <a href="#a3eee3c80d78ee4574a5eed0af5af919d">More...</a><br /></td></tr>
+<tr class="separator:a3eee3c80d78ee4574a5eed0af5af919d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a568b0fbfa3d903099d9c9f7b6acf188d">error</a> (const char *function, const char *file, const int line, const char *msg,...)</td></tr>
-<tr class="memdesc:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="mdescLeft"> </td><td class="mdescRight">Print an error message then throw an std::runtime_error. <a href="#a568b0fbfa3d903099d9c9f7b6acf188d">More...</a><br/></td></tr>
+<tr class="memdesc:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="mdescLeft"> </td><td class="mdescRight">Print an error message then throw an std::runtime_error. <a href="#a568b0fbfa3d903099d9c9f7b6acf188d">More...</a><br /></td></tr>
<tr class="separator:a568b0fbfa3d903099d9c9f7b6acf188d"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a5930b66fce0674d707fbf4f2dfcacc8f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5930b66fce0674d707fbf4f2dfcacc8f">debug</a> (const char *function, const char *file, const int line, const char *msg,...)</td></tr>
-<tr class="memdesc:a5930b66fce0674d707fbf4f2dfcacc8f"><td class="mdescLeft"> </td><td class="mdescRight">Print a debug message. <a href="#a5930b66fce0674d707fbf4f2dfcacc8f">More...</a><br/></td></tr>
-<tr class="separator:a5930b66fce0674d707fbf4f2dfcacc8f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a203882febb616f5468d1b63b60ffb331"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a203882febb616f5468d1b63b60ffb331">sqshl_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, int shift)</td></tr>
-<tr class="memdesc:a203882febb616f5468d1b63b60ffb331"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar saturating shift left <a href="#a203882febb616f5468d1b63b60ffb331">More...</a><br/></td></tr>
+<tr class="memdesc:a203882febb616f5468d1b63b60ffb331"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar saturating shift left <a href="#a203882febb616f5468d1b63b60ffb331">More...</a><br /></td></tr>
<tr class="separator:a203882febb616f5468d1b63b60ffb331"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3e4f9ff20167e78399975ec02c009c95"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3e4f9ff20167e78399975ec02c009c95">sshr_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, int shift)</td></tr>
-<tr class="memdesc:a3e4f9ff20167e78399975ec02c009c95"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar shift right <a href="#a3e4f9ff20167e78399975ec02c009c95">More...</a><br/></td></tr>
+<tr class="memdesc:a3e4f9ff20167e78399975ec02c009c95"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar shift right <a href="#a3e4f9ff20167e78399975ec02c009c95">More...</a><br /></td></tr>
<tr class="separator:a3e4f9ff20167e78399975ec02c009c95"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1dfcf4fd912cbd9853c0f7ddfcf3a163"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1dfcf4fd912cbd9853c0f7ddfcf3a163">sshr_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int shift)</td></tr>
-<tr class="memdesc:a1dfcf4fd912cbd9853c0f7ddfcf3a163"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar shift right <a href="#a1dfcf4fd912cbd9853c0f7ddfcf3a163">More...</a><br/></td></tr>
+<tr class="memdesc:a1dfcf4fd912cbd9853c0f7ddfcf3a163"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar shift right <a href="#a1dfcf4fd912cbd9853c0f7ddfcf3a163">More...</a><br /></td></tr>
<tr class="separator:a1dfcf4fd912cbd9853c0f7ddfcf3a163"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a383b9d12f86c35ceed6dd5922439aa4c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a383b9d12f86c35ceed6dd5922439aa4c">sqshl_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int shift)</td></tr>
-<tr class="memdesc:a383b9d12f86c35ceed6dd5922439aa4c"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar saturating shift left <a href="#a383b9d12f86c35ceed6dd5922439aa4c">More...</a><br/></td></tr>
+<tr class="memdesc:a383b9d12f86c35ceed6dd5922439aa4c"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar saturating shift left <a href="#a383b9d12f86c35ceed6dd5922439aa4c">More...</a><br /></td></tr>
<tr class="separator:a383b9d12f86c35ceed6dd5922439aa4c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a43315c66c4d00207f70143233b189085"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a43315c66c4d00207f70143233b189085">sabs_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a)</td></tr>
-<tr class="memdesc:a43315c66c4d00207f70143233b189085"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar absolute value <a href="#a43315c66c4d00207f70143233b189085">More...</a><br/></td></tr>
+<tr class="memdesc:a43315c66c4d00207f70143233b189085"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar absolute value <a href="#a43315c66c4d00207f70143233b189085">More...</a><br /></td></tr>
<tr class="separator:a43315c66c4d00207f70143233b189085"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5d49ea329c81268d6e12031f6f13f1eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5d49ea329c81268d6e12031f6f13f1eb">sabs_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a)</td></tr>
-<tr class="memdesc:a5d49ea329c81268d6e12031f6f13f1eb"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar absolute value <a href="#a5d49ea329c81268d6e12031f6f13f1eb">More...</a><br/></td></tr>
+<tr class="memdesc:a5d49ea329c81268d6e12031f6f13f1eb"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar absolute value <a href="#a5d49ea329c81268d6e12031f6f13f1eb">More...</a><br /></td></tr>
<tr class="separator:a5d49ea329c81268d6e12031f6f13f1eb"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa8cee074ec68e2ae7830a9472efd8429"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa8cee074ec68e2ae7830a9472efd8429">sadd_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b)</td></tr>
-<tr class="memdesc:aa8cee074ec68e2ae7830a9472efd8429"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar add <a href="#aa8cee074ec68e2ae7830a9472efd8429">More...</a><br/></td></tr>
+<tr class="memdesc:aa8cee074ec68e2ae7830a9472efd8429"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar add <a href="#aa8cee074ec68e2ae7830a9472efd8429">More...</a><br /></td></tr>
<tr class="separator:aa8cee074ec68e2ae7830a9472efd8429"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab30659aa2125bd5857547d424e601e34"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab30659aa2125bd5857547d424e601e34">sadd_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b)</td></tr>
-<tr class="memdesc:ab30659aa2125bd5857547d424e601e34"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar add <a href="#ab30659aa2125bd5857547d424e601e34">More...</a><br/></td></tr>
+<tr class="memdesc:ab30659aa2125bd5857547d424e601e34"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar add <a href="#ab30659aa2125bd5857547d424e601e34">More...</a><br /></td></tr>
<tr class="separator:ab30659aa2125bd5857547d424e601e34"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a532d90e007d0cb6f3d43107229c40c32"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b)</td></tr>
-<tr class="memdesc:a532d90e007d0cb6f3d43107229c40c32"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar saturating add <a href="#a532d90e007d0cb6f3d43107229c40c32">More...</a><br/></td></tr>
+<tr class="memdesc:a532d90e007d0cb6f3d43107229c40c32"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar saturating add <a href="#a532d90e007d0cb6f3d43107229c40c32">More...</a><br /></td></tr>
<tr class="separator:a532d90e007d0cb6f3d43107229c40c32"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a45669fcc0f31fce521179510e85dcb62"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b)</td></tr>
-<tr class="memdesc:a45669fcc0f31fce521179510e85dcb62"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar saturating add <a href="#a45669fcc0f31fce521179510e85dcb62">More...</a><br/></td></tr>
+<tr class="memdesc:a45669fcc0f31fce521179510e85dcb62"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar saturating add <a href="#a45669fcc0f31fce521179510e85dcb62">More...</a><br /></td></tr>
<tr class="separator:a45669fcc0f31fce521179510e85dcb62"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af1a4a8b0eeee4d2d1c14774e2417f3de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af1a4a8b0eeee4d2d1c14774e2417f3de">sqadd_qs32</a> (<a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> a, <a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> b)</td></tr>
-<tr class="memdesc:af1a4a8b0eeee4d2d1c14774e2417f3de"><td class="mdescLeft"> </td><td class="mdescRight">32 bit fixed point scalar saturating add <a href="#af1a4a8b0eeee4d2d1c14774e2417f3de">More...</a><br/></td></tr>
+<tr class="memdesc:af1a4a8b0eeee4d2d1c14774e2417f3de"><td class="mdescLeft"> </td><td class="mdescRight">32 bit fixed point scalar saturating add <a href="#af1a4a8b0eeee4d2d1c14774e2417f3de">More...</a><br /></td></tr>
<tr class="separator:af1a4a8b0eeee4d2d1c14774e2417f3de"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab97841950d268532e51f28a208ddafd4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab97841950d268532e51f28a208ddafd4">ssub_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b)</td></tr>
-<tr class="memdesc:ab97841950d268532e51f28a208ddafd4"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar subtraction <a href="#ab97841950d268532e51f28a208ddafd4">More...</a><br/></td></tr>
+<tr class="memdesc:ab97841950d268532e51f28a208ddafd4"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar subtraction <a href="#ab97841950d268532e51f28a208ddafd4">More...</a><br /></td></tr>
<tr class="separator:ab97841950d268532e51f28a208ddafd4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a70476eda2d46c943d572362fe2fc9d14"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a70476eda2d46c943d572362fe2fc9d14">ssub_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b)</td></tr>
-<tr class="memdesc:a70476eda2d46c943d572362fe2fc9d14"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar subtraction <a href="#a70476eda2d46c943d572362fe2fc9d14">More...</a><br/></td></tr>
+<tr class="memdesc:a70476eda2d46c943d572362fe2fc9d14"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar subtraction <a href="#a70476eda2d46c943d572362fe2fc9d14">More...</a><br /></td></tr>
<tr class="separator:a70476eda2d46c943d572362fe2fc9d14"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae74bbb6e25cc1b774428722b2faad00c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae74bbb6e25cc1b774428722b2faad00c">sqsub_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b)</td></tr>
-<tr class="memdesc:ae74bbb6e25cc1b774428722b2faad00c"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar saturating subtraction <a href="#ae74bbb6e25cc1b774428722b2faad00c">More...</a><br/></td></tr>
+<tr class="memdesc:ae74bbb6e25cc1b774428722b2faad00c"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar saturating subtraction <a href="#ae74bbb6e25cc1b774428722b2faad00c">More...</a><br /></td></tr>
<tr class="separator:ae74bbb6e25cc1b774428722b2faad00c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a217e5c603560d6f73971983c6d1572a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a217e5c603560d6f73971983c6d1572a1">sqsub_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b)</td></tr>
-<tr class="memdesc:a217e5c603560d6f73971983c6d1572a1"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar saturating subtraction <a href="#a217e5c603560d6f73971983c6d1572a1">More...</a><br/></td></tr>
+<tr class="memdesc:a217e5c603560d6f73971983c6d1572a1"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar saturating subtraction <a href="#a217e5c603560d6f73971983c6d1572a1">More...</a><br /></td></tr>
<tr class="separator:a217e5c603560d6f73971983c6d1572a1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aec48f137adc904d648dd7eba0d828fab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">smul_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:aec48f137adc904d648dd7eba0d828fab"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar multiply <a href="#aec48f137adc904d648dd7eba0d828fab">More...</a><br/></td></tr>
+<tr class="memdesc:aec48f137adc904d648dd7eba0d828fab"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar multiply <a href="#aec48f137adc904d648dd7eba0d828fab">More...</a><br /></td></tr>
<tr class="separator:aec48f137adc904d648dd7eba0d828fab"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7e6eff2c8b93f18002c06059b7e5b79a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">smul_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a7e6eff2c8b93f18002c06059b7e5b79a"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar multiply <a href="#a7e6eff2c8b93f18002c06059b7e5b79a">More...</a><br/></td></tr>
+<tr class="memdesc:a7e6eff2c8b93f18002c06059b7e5b79a"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar multiply <a href="#a7e6eff2c8b93f18002c06059b7e5b79a">More...</a><br /></td></tr>
<tr class="separator:a7e6eff2c8b93f18002c06059b7e5b79a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af0b73b0c4980a551d7cd4edec43ffd92"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:af0b73b0c4980a551d7cd4edec43ffd92"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar saturating multiply <a href="#af0b73b0c4980a551d7cd4edec43ffd92">More...</a><br/></td></tr>
+<tr class="memdesc:af0b73b0c4980a551d7cd4edec43ffd92"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar saturating multiply <a href="#af0b73b0c4980a551d7cd4edec43ffd92">More...</a><br /></td></tr>
<tr class="separator:af0b73b0c4980a551d7cd4edec43ffd92"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a55c8a365b4242664f8c0f19e91bcee92"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a55c8a365b4242664f8c0f19e91bcee92"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar saturating multiply <a href="#a55c8a365b4242664f8c0f19e91bcee92">More...</a><br/></td></tr>
+<tr class="memdesc:a55c8a365b4242664f8c0f19e91bcee92"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar saturating multiply <a href="#a55c8a365b4242664f8c0f19e91bcee92">More...</a><br /></td></tr>
<tr class="separator:a55c8a365b4242664f8c0f19e91bcee92"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0721e062e6d7a90f07fd08aeda5e7eda"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0721e062e6d7a90f07fd08aeda5e7eda">sqmull_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a0721e062e6d7a90f07fd08aeda5e7eda"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar multiply long <a href="#a0721e062e6d7a90f07fd08aeda5e7eda">More...</a><br/></td></tr>
+<tr class="memdesc:a0721e062e6d7a90f07fd08aeda5e7eda"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar multiply long <a href="#a0721e062e6d7a90f07fd08aeda5e7eda">More...</a><br /></td></tr>
<tr class="separator:a0721e062e6d7a90f07fd08aeda5e7eda"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7f9fcf8e60c300e602327f8ff67800cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7f9fcf8e60c300e602327f8ff67800cb">sqmull_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a7f9fcf8e60c300e602327f8ff67800cb"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar multiply long <a href="#a7f9fcf8e60c300e602327f8ff67800cb">More...</a><br/></td></tr>
+<tr class="memdesc:a7f9fcf8e60c300e602327f8ff67800cb"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar multiply long <a href="#a7f9fcf8e60c300e602327f8ff67800cb">More...</a><br /></td></tr>
<tr class="separator:a7f9fcf8e60c300e602327f8ff67800cb"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab768d7001612a149c0bf695b773d659b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab768d7001612a149c0bf695b773d659b">sinvsqrt_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:ab768d7001612a149c0bf695b773d659b"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar inverse square root <a href="#ab768d7001612a149c0bf695b773d659b">More...</a><br/></td></tr>
+<tr class="memdesc:ab768d7001612a149c0bf695b773d659b"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar inverse square root <a href="#ab768d7001612a149c0bf695b773d659b">More...</a><br /></td></tr>
<tr class="separator:ab768d7001612a149c0bf695b773d659b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a162390097e05ddc016310bad881c461c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a162390097e05ddc016310bad881c461c">sinvsqrt_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a162390097e05ddc016310bad881c461c"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar inverse square root <a href="#a162390097e05ddc016310bad881c461c">More...</a><br/></td></tr>
+<tr class="memdesc:a162390097e05ddc016310bad881c461c"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar inverse square root <a href="#a162390097e05ddc016310bad881c461c">More...</a><br /></td></tr>
<tr class="separator:a162390097e05ddc016310bad881c461c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae39636f0e83dd3b854b89181a230216f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae39636f0e83dd3b854b89181a230216f">sdiv_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:ae39636f0e83dd3b854b89181a230216f"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar division <a href="#ae39636f0e83dd3b854b89181a230216f">More...</a><br/></td></tr>
+<tr class="memdesc:ae39636f0e83dd3b854b89181a230216f"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar division <a href="#ae39636f0e83dd3b854b89181a230216f">More...</a><br /></td></tr>
<tr class="separator:ae39636f0e83dd3b854b89181a230216f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a62b21ae2dd27770147d5b7c265fa534c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a62b21ae2dd27770147d5b7c265fa534c">sdiv_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a62b21ae2dd27770147d5b7c265fa534c"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar division <a href="#a62b21ae2dd27770147d5b7c265fa534c">More...</a><br/></td></tr>
+<tr class="memdesc:a62b21ae2dd27770147d5b7c265fa534c"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar division <a href="#a62b21ae2dd27770147d5b7c265fa534c">More...</a><br /></td></tr>
<tr class="separator:a62b21ae2dd27770147d5b7c265fa534c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a20724c7cb556b1ff4fd9d01c7020d762"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a20724c7cb556b1ff4fd9d01c7020d762">sqexp_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a20724c7cb556b1ff4fd9d01c7020d762"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar exponential <a href="#a20724c7cb556b1ff4fd9d01c7020d762">More...</a><br/></td></tr>
+<tr class="memdesc:a20724c7cb556b1ff4fd9d01c7020d762"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar exponential <a href="#a20724c7cb556b1ff4fd9d01c7020d762">More...</a><br /></td></tr>
<tr class="separator:a20724c7cb556b1ff4fd9d01c7020d762"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aba5b39758733711eaf3015d17839feb5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aba5b39758733711eaf3015d17839feb5">sqexp_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:aba5b39758733711eaf3015d17839feb5"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar exponential <a href="#aba5b39758733711eaf3015d17839feb5">More...</a><br/></td></tr>
+<tr class="memdesc:aba5b39758733711eaf3015d17839feb5"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar exponential <a href="#aba5b39758733711eaf3015d17839feb5">More...</a><br /></td></tr>
<tr class="separator:aba5b39758733711eaf3015d17839feb5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:acc38b787d0451ec4a3e632ed919ac298"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acc38b787d0451ec4a3e632ed919ac298">sexp_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:acc38b787d0451ec4a3e632ed919ac298"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar exponential <a href="#acc38b787d0451ec4a3e632ed919ac298">More...</a><br/></td></tr>
+<tr class="memdesc:acc38b787d0451ec4a3e632ed919ac298"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar exponential <a href="#acc38b787d0451ec4a3e632ed919ac298">More...</a><br /></td></tr>
<tr class="separator:acc38b787d0451ec4a3e632ed919ac298"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a596a7e3c63f80e67ea7cb713e8fc9992"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a596a7e3c63f80e67ea7cb713e8fc9992">slog_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a596a7e3c63f80e67ea7cb713e8fc9992"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar logarithm <a href="#a596a7e3c63f80e67ea7cb713e8fc9992">More...</a><br/></td></tr>
+<tr class="memdesc:a596a7e3c63f80e67ea7cb713e8fc9992"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point scalar logarithm <a href="#a596a7e3c63f80e67ea7cb713e8fc9992">More...</a><br /></td></tr>
<tr class="separator:a596a7e3c63f80e67ea7cb713e8fc9992"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad45601a3c0f1d9f6210041651f4e2f4b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad45601a3c0f1d9f6210041651f4e2f4b">slog_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:ad45601a3c0f1d9f6210041651f4e2f4b"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar logarithm <a href="#ad45601a3c0f1d9f6210041651f4e2f4b">More...</a><br/></td></tr>
+<tr class="memdesc:ad45601a3c0f1d9f6210041651f4e2f4b"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point scalar logarithm <a href="#ad45601a3c0f1d9f6210041651f4e2f4b">More...</a><br /></td></tr>
<tr class="separator:ad45601a3c0f1d9f6210041651f4e2f4b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a62232512d049619479b670c58a607924"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a62232512d049619479b670c58a607924">scvt_f32_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a62232512d049619479b670c58a607924"><td class="mdescLeft"> </td><td class="mdescRight">Convert an 8 bit fixed point to float. <a href="#a62232512d049619479b670c58a607924">More...</a><br/></td></tr>
+<tr class="memdesc:a62232512d049619479b670c58a607924"><td class="mdescLeft"> </td><td class="mdescRight">Convert an 8 bit fixed point to float. <a href="#a62232512d049619479b670c58a607924">More...</a><br /></td></tr>
<tr class="separator:a62232512d049619479b670c58a607924"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4f425447c1efb8d2b48cb50b110f4739"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4f425447c1efb8d2b48cb50b110f4739">sqcvt_qs8_f32</a> (float a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a4f425447c1efb8d2b48cb50b110f4739"><td class="mdescLeft"> </td><td class="mdescRight">Convert a float to 8 bit fixed point. <a href="#a4f425447c1efb8d2b48cb50b110f4739">More...</a><br/></td></tr>
+<tr class="memdesc:a4f425447c1efb8d2b48cb50b110f4739"><td class="mdescLeft"> </td><td class="mdescRight">Convert a float to 8 bit fixed point. <a href="#a4f425447c1efb8d2b48cb50b110f4739">More...</a><br /></td></tr>
<tr class="separator:a4f425447c1efb8d2b48cb50b110f4739"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a55e8e161b9a16d750a6cff3fba6cd480"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a55e8e161b9a16d750a6cff3fba6cd480">scvt_f32_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a55e8e161b9a16d750a6cff3fba6cd480"><td class="mdescLeft"> </td><td class="mdescRight">Convert a 16 bit fixed point to float. <a href="#a55e8e161b9a16d750a6cff3fba6cd480">More...</a><br/></td></tr>
+<tr class="memdesc:a55e8e161b9a16d750a6cff3fba6cd480"><td class="mdescLeft"> </td><td class="mdescRight">Convert a 16 bit fixed point to float. <a href="#a55e8e161b9a16d750a6cff3fba6cd480">More...</a><br /></td></tr>
<tr class="separator:a55e8e161b9a16d750a6cff3fba6cd480"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a790df824287a4f498e648dbbb481906b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a790df824287a4f498e648dbbb481906b">sqcvt_qs16_f32</a> (float a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a790df824287a4f498e648dbbb481906b"><td class="mdescLeft"> </td><td class="mdescRight">Convert a float to 16 bit fixed point. <a href="#a790df824287a4f498e648dbbb481906b">More...</a><br/></td></tr>
+<tr class="memdesc:a790df824287a4f498e648dbbb481906b"><td class="mdescLeft"> </td><td class="mdescRight">Convert a float to 16 bit fixed point. <a href="#a790df824287a4f498e648dbbb481906b">More...</a><br /></td></tr>
<tr class="separator:a790df824287a4f498e648dbbb481906b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad555b251940cba2ca1c6eb168f0bbea4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad555b251940cba2ca1c6eb168f0bbea4">sqmovn_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a)</td></tr>
-<tr class="memdesc:ad555b251940cba2ca1c6eb168f0bbea4"><td class="mdescLeft"> </td><td class="mdescRight">Scalar saturating move and narrow. <a href="#ad555b251940cba2ca1c6eb168f0bbea4">More...</a><br/></td></tr>
+<tr class="memdesc:ad555b251940cba2ca1c6eb168f0bbea4"><td class="mdescLeft"> </td><td class="mdescRight">Scalar saturating move and narrow. <a href="#ad555b251940cba2ca1c6eb168f0bbea4">More...</a><br /></td></tr>
<tr class="separator:ad555b251940cba2ca1c6eb168f0bbea4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4a4859f4f212d3824e70a36aed901b5b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4a4859f4f212d3824e70a36aed901b5b">sqmovn_qs32</a> (<a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> a)</td></tr>
-<tr class="memdesc:a4a4859f4f212d3824e70a36aed901b5b"><td class="mdescLeft"> </td><td class="mdescRight">Scalar saturating move and narrow. <a href="#a4a4859f4f212d3824e70a36aed901b5b">More...</a><br/></td></tr>
+<tr class="memdesc:a4a4859f4f212d3824e70a36aed901b5b"><td class="mdescLeft"> </td><td class="mdescRight">Scalar saturating move and narrow. <a href="#a4a4859f4f212d3824e70a36aed901b5b">More...</a><br /></td></tr>
<tr class="separator:a4a4859f4f212d3824e70a36aed901b5b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab36bc98bdbf6c4d7bee0cb099513c806"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab36bc98bdbf6c4d7bee0cb099513c806">enqueue</a> (<a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml">IGCKernel</a> &kernel, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &window, const <a class="el" href="classarm__compute_1_1gles_1_1_n_d_range.xhtml">gles::NDRange</a> &lws=<a class="el" href="classarm__compute_1_1gles_1_1_n_d_range.xhtml">gles::NDRange</a>(1U, 1U, 1U))</td></tr>
+<tr class="memdesc:ab36bc98bdbf6c4d7bee0cb099513c806"><td class="mdescLeft"> </td><td class="mdescRight">Add the kernel to the command queue with the given window. <a href="#ab36bc98bdbf6c4d7bee0cb099513c806">More...</a><br /></td></tr>
+<tr class="separator:ab36bc98bdbf6c4d7bee0cb099513c806"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a19c7b9bc5f36935ba40314907ffe54ce"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a19c7b9bc5f36935ba40314907ffe54ce">opengles31_is_available</a> ()</td></tr>
+<tr class="memdesc:a19c7b9bc5f36935ba40314907ffe54ce"><td class="mdescLeft"> </td><td class="mdescRight">Check if the OpenGL ES 3.1 API is available at runtime. <a href="#a19c7b9bc5f36935ba40314907ffe54ce">More...</a><br /></td></tr>
+<tr class="separator:a19c7b9bc5f36935ba40314907ffe54ce"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:adfe7525e3cd542da6c043a98f93a8d3c"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
-<tr class="memitem:adfe7525e3cd542da6c043a98f93a8d3c"><td class="memTemplItemLeft" align="right" valign="top">std::enable_if<br class="typebreak"/>
-< <a class="el" href="structarm__compute_1_1enable__bitwise__ops.xhtml">enable_bitwise_ops</a>< T ><br class="typebreak"/>
-::<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, T >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adfe7525e3cd542da6c043a98f93a8d3c">operator&</a> (T lhs, T rhs)</td></tr>
+<tr class="memitem:adfe7525e3cd542da6c043a98f93a8d3c"><td class="memTemplItemLeft" align="right" valign="top">std::enable_if< <a class="el" href="structarm__compute_1_1enable__bitwise__ops.xhtml">enable_bitwise_ops</a>< T >::<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, T >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adfe7525e3cd542da6c043a98f93a8d3c">operator&</a> (T lhs, T rhs)</td></tr>
<tr class="separator:adfe7525e3cd542da6c043a98f93a8d3c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad656a27ce8a507e31096ca45683ba9a5"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
<tr class="memitem:ad656a27ce8a507e31096ca45683ba9a5"><td class="memTemplItemLeft" align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">delta_bilinear_c1</a> (const T *pixel_ptr, size_t stride, float dx, float dy)</td></tr>
-<tr class="memdesc:ad656a27ce8a507e31096ca45683ba9a5"><td class="mdescLeft"> </td><td class="mdescRight">Computes bilinear interpolation using the pointer to the top-left pixel and the pixel's distance between the real coordinates and the smallest following integer coordinates. <a href="#ad656a27ce8a507e31096ca45683ba9a5">More...</a><br/></td></tr>
+<tr class="memdesc:ad656a27ce8a507e31096ca45683ba9a5"><td class="mdescLeft"> </td><td class="mdescRight">Computes bilinear interpolation using the pointer to the top-left pixel and the pixel's distance between the real coordinates and the smallest following integer coordinates. <a href="#ad656a27ce8a507e31096ca45683ba9a5">More...</a><br /></td></tr>
<tr class="separator:ad656a27ce8a507e31096ca45683ba9a5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad5fa8bacf824e9538014bfb0dcdaab52"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
+<tr class="memitem:ad5fa8bacf824e9538014bfb0dcdaab52"><td class="memTemplItemLeft" align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad5fa8bacf824e9538014bfb0dcdaab52">delta_linear_c1_y</a> (const T *pixel_ptr, size_t stride, float dy)</td></tr>
+<tr class="memdesc:ad5fa8bacf824e9538014bfb0dcdaab52"><td class="mdescLeft"> </td><td class="mdescRight">Computes linear interpolation using the pointer to the top pixel and the pixel's distance between the real coordinates and the smallest following integer coordinates. <a href="#ad5fa8bacf824e9538014bfb0dcdaab52">More...</a><br /></td></tr>
+<tr class="separator:ad5fa8bacf824e9538014bfb0dcdaab52"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6174495b626531de015ae2b810859287"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
+<tr class="memitem:a6174495b626531de015ae2b810859287"><td class="memTemplItemLeft" align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6174495b626531de015ae2b810859287">delta_linear_c1_x</a> (const T *pixel_ptr, float dx)</td></tr>
+<tr class="memdesc:a6174495b626531de015ae2b810859287"><td class="mdescLeft"> </td><td class="mdescRight">Computes linear interpolation using the pointer to the left pixel and the pixel's distance between the real coordinates and the smallest following integer coordinates. <a href="#a6174495b626531de015ae2b810859287">More...</a><br /></td></tr>
+<tr class="separator:a6174495b626531de015ae2b810859287"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1c8d639ec2b3086a9506e72605a32333"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
<tr class="memitem:a1c8d639ec2b3086a9506e72605a32333"><td class="memTemplItemLeft" align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1c8d639ec2b3086a9506e72605a32333">pixel_bilinear_c1</a> (const T *first_pixel_ptr, size_t stride, float x, float y)</td></tr>
-<tr class="memdesc:a1c8d639ec2b3086a9506e72605a32333"><td class="mdescLeft"> </td><td class="mdescRight">Return the pixel at (x,y) using bilinear interpolation. <a href="#a1c8d639ec2b3086a9506e72605a32333">More...</a><br/></td></tr>
+<tr class="memdesc:a1c8d639ec2b3086a9506e72605a32333"><td class="mdescLeft"> </td><td class="mdescRight">Return the pixel at (x,y) using bilinear interpolation. <a href="#a1c8d639ec2b3086a9506e72605a32333">More...</a><br /></td></tr>
<tr class="separator:a1c8d639ec2b3086a9506e72605a32333"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:afa55519774605e5b840fb031fdd7b196"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
<tr class="memitem:afa55519774605e5b840fb031fdd7b196"><td class="memTemplItemLeft" align="right" valign="top">uint8_t </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afa55519774605e5b840fb031fdd7b196">pixel_bilinear_c1_clamp</a> (const T *first_pixel_ptr, size_t stride, size_t width, size_t height, float x, float y)</td></tr>
-<tr class="memdesc:afa55519774605e5b840fb031fdd7b196"><td class="mdescLeft"> </td><td class="mdescRight">Return the pixel at (x,y) using bilinear interpolation by clamping when out of borders. <a href="#afa55519774605e5b840fb031fdd7b196">More...</a><br/></td></tr>
+<tr class="memdesc:afa55519774605e5b840fb031fdd7b196"><td class="mdescLeft"> </td><td class="mdescRight">Return the pixel at (x,y) using bilinear interpolation by clamping when out of borders. <a href="#afa55519774605e5b840fb031fdd7b196">More...</a><br /></td></tr>
<tr class="separator:afa55519774605e5b840fb031fdd7b196"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab7b3af731907e85fcaf72555c446176b"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab7b3af731907e85fcaf72555c446176b">pixel_area_c1u8_clamp</a> (const uint8_t *first_pixel_ptr, size_t stride, size_t width, size_t height, float wr, float hr, int x, int y)</td></tr>
-<tr class="memdesc:ab7b3af731907e85fcaf72555c446176b"><td class="mdescLeft"> </td><td class="mdescRight">Return the pixel at (x,y) using area interpolation by clamping when out of borders. <a href="#ab7b3af731907e85fcaf72555c446176b">More...</a><br/></td></tr>
+<tr class="memdesc:ab7b3af731907e85fcaf72555c446176b"><td class="mdescLeft"> </td><td class="mdescRight">Return the pixel at (x,y) using area interpolation by clamping when out of borders. <a href="#ab7b3af731907e85fcaf72555c446176b">More...</a><br /></td></tr>
<tr class="separator:ab7b3af731907e85fcaf72555c446176b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1c0b9414fe3a6ef6a7a23bd324ae9e67"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
<tr class="memitem:a1c0b9414fe3a6ef6a7a23bd324ae9e67"><td class="memTemplItemLeft" align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1c0b9414fe3a6ef6a7a23bd324ae9e67">clamp</a> (const T &n, const T &lower, const T &upper)</td></tr>
-<tr class="memdesc:a1c0b9414fe3a6ef6a7a23bd324ae9e67"><td class="mdescLeft"> </td><td class="mdescRight">Performs clamping among a lower and upper value. <a href="#a1c0b9414fe3a6ef6a7a23bd324ae9e67">More...</a><br/></td></tr>
+<tr class="memdesc:a1c0b9414fe3a6ef6a7a23bd324ae9e67"><td class="mdescLeft"> </td><td class="mdescRight">Performs clamping among a lower and upper value. <a href="#a1c0b9414fe3a6ef6a7a23bd324ae9e67">More...</a><br /></td></tr>
<tr class="separator:a1c0b9414fe3a6ef6a7a23bd324ae9e67"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a76e58198af8e930a851637e7e3eccbd2"><td class="memTemplParams" colspan="2">template<typename F > </td></tr>
<tr class="memitem:a76e58198af8e930a851637e7e3eccbd2"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a76e58198af8e930a851637e7e3eccbd2">for_each</a> (F &&)</td></tr>
-<tr class="memdesc:a76e58198af8e930a851637e7e3eccbd2"><td class="mdescLeft"> </td><td class="mdescRight">Base case of for_each. <a href="#a76e58198af8e930a851637e7e3eccbd2">More...</a><br/></td></tr>
+<tr class="memdesc:a76e58198af8e930a851637e7e3eccbd2"><td class="mdescLeft"> </td><td class="mdescRight">Base case of for_each. <a href="#a76e58198af8e930a851637e7e3eccbd2">More...</a><br /></td></tr>
<tr class="separator:a76e58198af8e930a851637e7e3eccbd2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab951ff3c9484cd4b243344b3a0f12d95"><td class="memTemplParams" colspan="2">template<typename F , typename T , typename... Ts> </td></tr>
<tr class="memitem:ab951ff3c9484cd4b243344b3a0f12d95"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab951ff3c9484cd4b243344b3a0f12d95">for_each</a> (F &&func, T &&arg, Ts &&...args)</td></tr>
-<tr class="memdesc:ab951ff3c9484cd4b243344b3a0f12d95"><td class="mdescLeft"> </td><td class="mdescRight">Call the function for each of the arguments. <a href="#ab951ff3c9484cd4b243344b3a0f12d95">More...</a><br/></td></tr>
+<tr class="memdesc:ab951ff3c9484cd4b243344b3a0f12d95"><td class="mdescLeft"> </td><td class="mdescRight">Call the function for each of the arguments. <a href="#ab951ff3c9484cd4b243344b3a0f12d95">More...</a><br /></td></tr>
<tr class="separator:ab951ff3c9484cd4b243344b3a0f12d95"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6905c41fd996c479e46791ef58e440aa"><td class="memTemplParams" colspan="2">template<typename F , typename T > </td></tr>
<tr class="memitem:a6905c41fd996c479e46791ef58e440aa"><td class="memTemplItemLeft" align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6905c41fd996c479e46791ef58e440aa">foldl</a> (F &&, const T &<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>)</td></tr>
-<tr class="memdesc:a6905c41fd996c479e46791ef58e440aa"><td class="mdescLeft"> </td><td class="mdescRight">Base case of foldl. <a href="#a6905c41fd996c479e46791ef58e440aa">More...</a><br/></td></tr>
+<tr class="memdesc:a6905c41fd996c479e46791ef58e440aa"><td class="mdescLeft"> </td><td class="mdescRight">Base case of foldl. <a href="#a6905c41fd996c479e46791ef58e440aa">More...</a><br /></td></tr>
<tr class="separator:a6905c41fd996c479e46791ef58e440aa"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7f8e5c5fc77465cf3ac58b3d15305a5f"><td class="memTemplParams" colspan="2">template<typename F , typename T , typename U > </td></tr>
<tr class="memitem:a7f8e5c5fc77465cf3ac58b3d15305a5f"><td class="memTemplItemLeft" align="right" valign="top">auto </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7f8e5c5fc77465cf3ac58b3d15305a5f">foldl</a> (F &&func, T &&value1, U &&value2) -> decltype(func(value1, value2))</td></tr>
-<tr class="memdesc:a7f8e5c5fc77465cf3ac58b3d15305a5f"><td class="mdescLeft"> </td><td class="mdescRight">Base case of foldl. <a href="#a7f8e5c5fc77465cf3ac58b3d15305a5f">More...</a><br/></td></tr>
+<tr class="memdesc:a7f8e5c5fc77465cf3ac58b3d15305a5f"><td class="mdescLeft"> </td><td class="mdescRight">Base case of foldl. <a href="#a7f8e5c5fc77465cf3ac58b3d15305a5f">More...</a><br /></td></tr>
<tr class="separator:a7f8e5c5fc77465cf3ac58b3d15305a5f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a05d0de315da2ecf1fa7d22ffad49b254"><td class="memTemplParams" colspan="2">template<typename F , typename I , typename T , typename... Vs> </td></tr>
<tr class="memitem:a05d0de315da2ecf1fa7d22ffad49b254"><td class="memTemplItemLeft" align="right" valign="top">I </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a05d0de315da2ecf1fa7d22ffad49b254">foldl</a> (F &&func, I &&initial, T &&<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, Vs &&...values)</td></tr>
-<tr class="memdesc:a05d0de315da2ecf1fa7d22ffad49b254"><td class="mdescLeft"> </td><td class="mdescRight">Fold left. <a href="#a05d0de315da2ecf1fa7d22ffad49b254">More...</a><br/></td></tr>
+<tr class="memdesc:a05d0de315da2ecf1fa7d22ffad49b254"><td class="mdescLeft"> </td><td class="mdescRight">Fold left. <a href="#a05d0de315da2ecf1fa7d22ffad49b254">More...</a><br /></td></tr>
<tr class="separator:a05d0de315da2ecf1fa7d22ffad49b254"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6c0dcc38187027dcb89cd9724bc5a823"><td class="memTemplParams" colspan="2">template<typename L , typename... Ts> </td></tr>
<tr class="memitem:a6c0dcc38187027dcb89cd9724bc5a823"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a> (const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &w, L &&lambda_function, Ts &&...iterators)</td></tr>
-<tr class="memdesc:a6c0dcc38187027dcb89cd9724bc5a823"><td class="mdescLeft"> </td><td class="mdescRight">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_functino for each element. <a href="#a6c0dcc38187027dcb89cd9724bc5a823">More...</a><br/></td></tr>
+<tr class="memdesc:a6c0dcc38187027dcb89cd9724bc5a823"><td class="mdescLeft"> </td><td class="mdescRight">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_functino for each element. <a href="#a6c0dcc38187027dcb89cd9724bc5a823">More...</a><br /></td></tr>
<tr class="separator:a6c0dcc38187027dcb89cd9724bc5a823"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac2a92cae51d2734a65676052adb33c22"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
<tr class="memitem:ac2a92cae51d2734a65676052adb33c22"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac2a92cae51d2734a65676052adb33c22">update_window_and_padding</a> (<a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &win, Ts &&...patterns)</td></tr>
-<tr class="memdesc:ac2a92cae51d2734a65676052adb33c22"><td class="mdescLeft"> </td><td class="mdescRight">Update window and padding size for each of the access patterns. <a href="#ac2a92cae51d2734a65676052adb33c22">More...</a><br/></td></tr>
+<tr class="memdesc:ac2a92cae51d2734a65676052adb33c22"><td class="mdescLeft"> </td><td class="mdescRight">Update window and padding size for each of the access patterns. <a href="#ac2a92cae51d2734a65676052adb33c22">More...</a><br /></td></tr>
<tr class="separator:ac2a92cae51d2734a65676052adb33c22"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa2117aef4381edbdf81e17ec088df7f1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa2117aef4381edbdf81e17ec088df7f1">calculate_max_window</a> (const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &info, const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &steps=<a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>(), bool skip_border=false, <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> border_size=<a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>())</td></tr>
-<tr class="memdesc:aa2117aef4381edbdf81e17ec088df7f1"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the maximum window for a given tensor shape and border setting. <a href="#aa2117aef4381edbdf81e17ec088df7f1">More...</a><br/></td></tr>
+<tr class="memdesc:aa2117aef4381edbdf81e17ec088df7f1"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the maximum window for a given tensor shape and border setting. <a href="#aa2117aef4381edbdf81e17ec088df7f1">More...</a><br /></td></tr>
<tr class="separator:aa2117aef4381edbdf81e17ec088df7f1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a47456b4d520aee1cba80bf6e20f6685a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a47456b4d520aee1cba80bf6e20f6685a">calculate_max_window_horizontal</a> (const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &info, const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &steps=<a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>(), bool skip_border=false, <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> border_size=<a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>())</td></tr>
-<tr class="memdesc:a47456b4d520aee1cba80bf6e20f6685a"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the maximum window used by a horizontal kernel for a given tensor shape and border setting. <a href="#a47456b4d520aee1cba80bf6e20f6685a">More...</a><br/></td></tr>
+<tr class="memdesc:a47456b4d520aee1cba80bf6e20f6685a"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the maximum window used by a horizontal kernel for a given tensor shape and border setting. <a href="#a47456b4d520aee1cba80bf6e20f6685a">More...</a><br /></td></tr>
<tr class="separator:a47456b4d520aee1cba80bf6e20f6685a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:afcdda83b6a85d5798f08d92c0e235e2e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afcdda83b6a85d5798f08d92c0e235e2e">calculate_max_enlarged_window</a> (const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &info, const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> &steps=<a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>(), <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> border_size=<a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>())</td></tr>
-<tr class="memdesc:afcdda83b6a85d5798f08d92c0e235e2e"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the maximum window for a given tensor shape and border setting. <a href="#afcdda83b6a85d5798f08d92c0e235e2e">More...</a><br/></td></tr>
+<tr class="memdesc:afcdda83b6a85d5798f08d92c0e235e2e"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the maximum window for a given tensor shape and border setting. <a href="#afcdda83b6a85d5798f08d92c0e235e2e">More...</a><br /></td></tr>
<tr class="separator:afcdda83b6a85d5798f08d92c0e235e2e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3bb1b3d01f14dbc0beb1e826eefeddc6"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
<tr class="memitem:a3bb1b3d01f14dbc0beb1e826eefeddc6"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3bb1b3d01f14dbc0beb1e826eefeddc6">intersect_valid_regions</a> (Ts &&...regions)</td></tr>
-<tr class="memdesc:a3bb1b3d01f14dbc0beb1e826eefeddc6"><td class="mdescLeft"> </td><td class="mdescRight">Intersect multiple valid regions. <a href="#a3bb1b3d01f14dbc0beb1e826eefeddc6">More...</a><br/></td></tr>
+<tr class="memdesc:a3bb1b3d01f14dbc0beb1e826eefeddc6"><td class="mdescLeft"> </td><td class="mdescRight">Intersect multiple valid regions. <a href="#a3bb1b3d01f14dbc0beb1e826eefeddc6">More...</a><br /></td></tr>
<tr class="separator:a3bb1b3d01f14dbc0beb1e826eefeddc6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a35178800b82e07a49da5a81cdeda9a0c"><td class="memTemplParams" colspan="2">template<typename T , typename... Ts> </td></tr>
<tr class="memitem:a35178800b82e07a49da5a81cdeda9a0c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a35178800b82e07a49da5a81cdeda9a0c">compute_strides</a> (const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &info, T stride_x, Ts &&...fixed_strides)</td></tr>
-<tr class="memdesc:a35178800b82e07a49da5a81cdeda9a0c"><td class="mdescLeft"> </td><td class="mdescRight">Create a strides object based on the provided strides and the tensor dimensions. <a href="#a35178800b82e07a49da5a81cdeda9a0c">More...</a><br/></td></tr>
+<tr class="memdesc:a35178800b82e07a49da5a81cdeda9a0c"><td class="mdescLeft"> </td><td class="mdescRight">Create a strides object based on the provided strides and the tensor dimensions. <a href="#a35178800b82e07a49da5a81cdeda9a0c">More...</a><br /></td></tr>
<tr class="separator:a35178800b82e07a49da5a81cdeda9a0c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8c35748731709927597cb5a2c227e682"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
<tr class="memitem:a8c35748731709927597cb5a2c227e682"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8c35748731709927597cb5a2c227e682">compute_strides</a> (const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &info)</td></tr>
-<tr class="memdesc:a8c35748731709927597cb5a2c227e682"><td class="mdescLeft"> </td><td class="mdescRight">Create a strides object based on the tensor dimensions. <a href="#a8c35748731709927597cb5a2c227e682">More...</a><br/></td></tr>
+<tr class="memdesc:a8c35748731709927597cb5a2c227e682"><td class="mdescLeft"> </td><td class="mdescRight">Create a strides object based on the tensor dimensions. <a href="#a8c35748731709927597cb5a2c227e682">More...</a><br /></td></tr>
<tr class="separator:a8c35748731709927597cb5a2c227e682"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a1c9627ac3d73a67e9312c2c9740ff0a3"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1c9627ac3d73a67e9312c2c9740ff0a3">auto_init_if_empty</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &info, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &shape, int num_channels, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> data_type, int fixed_point_position)</td></tr>
-<tr class="separator:a1c9627ac3d73a67e9312c2c9740ff0a3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a21c3e11887f3acf9284ca763372c7da0"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
+<tr class="memitem:a21c3e11887f3acf9284ca763372c7da0"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a21c3e11887f3acf9284ca763372c7da0">permute</a> (<a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>< T > &dimensions, const <a class="el" href="namespacearm__compute.xhtml#a33e65be485104e2e9e69fca551d6f492">PermutationVector</a> &perm)</td></tr>
+<tr class="memdesc:a21c3e11887f3acf9284ca763372c7da0"><td class="mdescLeft"> </td><td class="mdescRight">Permutes given <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> according to a permutation vector. <a href="#a21c3e11887f3acf9284ca763372c7da0">More...</a><br /></td></tr>
+<tr class="separator:a21c3e11887f3acf9284ca763372c7da0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9a20062caae09fce4a567be558f9d702"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9a20062caae09fce4a567be558f9d702">auto_init_if_empty</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &info, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &shape, int num_channels, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> data_type, int fixed_point_position, <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> quantization_info=<a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a>())</td></tr>
+<tr class="separator:a9a20062caae09fce4a567be558f9d702"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5844c8e025388ddd8c3afc5c3f7a3256"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5844c8e025388ddd8c3afc5c3f7a3256">auto_init_if_empty</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &info_sink, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &info_source)</td></tr>
+<tr class="memdesc:a5844c8e025388ddd8c3afc5c3f7a3256"><td class="mdescLeft"> </td><td class="mdescRight">Auto initialize the tensor info using another tensor info. <a href="#a5844c8e025388ddd8c3afc5c3f7a3256">More...</a><br /></td></tr>
+<tr class="separator:a5844c8e025388ddd8c3afc5c3f7a3256"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9d1a839c51134b2ae171a2264c541b6f"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9d1a839c51134b2ae171a2264c541b6f">set_shape_if_empty</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &info, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &shape)</td></tr>
<tr class="separator:a9d1a839c51134b2ae171a2264c541b6f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8076ba239b6681067b6cfea7f773a39f"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8076ba239b6681067b6cfea7f773a39f">set_format_if_unknown</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &info, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
@@ -2376,21 +2755,29 @@
<tr class="separator:ad19446be52c2c162fa678b9ae236f445"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0894ed18ca6f55d6053882676cc2c95c"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0894ed18ca6f55d6053882676cc2c95c">set_fixed_point_position_if_zero</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &info, int fixed_point_position)</td></tr>
<tr class="separator:a0894ed18ca6f55d6053882676cc2c95c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a75509469ec2689ec143f4a37bbcb4437"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a75509469ec2689ec143f4a37bbcb4437">set_quantization_info_if_empty</a> (<a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &info, <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> quantization_info)</td></tr>
+<tr class="separator:a75509469ec2689ec143f4a37bbcb4437"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae3c6412e9c2b3b6c75a577f700e9b228"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae3c6412e9c2b3b6c75a577f700e9b228">calculate_valid_region_scale</a> (const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> &src_info, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &dst_shape, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> policy, <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> border_size, bool border_undefined)</td></tr>
-<tr class="memdesc:ae3c6412e9c2b3b6c75a577f700e9b228"><td class="mdescLeft"> </td><td class="mdescRight">Helper function to calculate the Valid Region for Scale. <a href="#ae3c6412e9c2b3b6c75a577f700e9b228">More...</a><br/></td></tr>
+<tr class="memdesc:ae3c6412e9c2b3b6c75a577f700e9b228"><td class="mdescLeft"> </td><td class="mdescRight">Helper function to calculate the Valid Region for Scale. <a href="#ae3c6412e9c2b3b6c75a577f700e9b228">More...</a><br /></td></tr>
<tr class="separator:ae3c6412e9c2b3b6c75a577f700e9b228"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad34f2150f1c9f8a3ecb7298162124e5d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad34f2150f1c9f8a3ecb7298162124e5d">index2coords</a> (const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &shape, int index)</td></tr>
-<tr class="memdesc:ad34f2150f1c9f8a3ecb7298162124e5d"><td class="mdescLeft"> </td><td class="mdescRight">Convert a linear index into n-dimensional coordinates. <a href="#ad34f2150f1c9f8a3ecb7298162124e5d">More...</a><br/></td></tr>
+<tr class="memdesc:ad34f2150f1c9f8a3ecb7298162124e5d"><td class="mdescLeft"> </td><td class="mdescRight">Convert a linear index into n-dimensional coordinates. <a href="#ad34f2150f1c9f8a3ecb7298162124e5d">More...</a><br /></td></tr>
<tr class="separator:ad34f2150f1c9f8a3ecb7298162124e5d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad95e1c14c3007ca18950bf8f4c5a5c93"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad95e1c14c3007ca18950bf8f4c5a5c93">coords2index</a> (const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &shape, const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &coord)</td></tr>
-<tr class="memdesc:ad95e1c14c3007ca18950bf8f4c5a5c93"><td class="mdescLeft"> </td><td class="mdescRight">Convert n-dimensional coordinates into a linear index. <a href="#ad95e1c14c3007ca18950bf8f4c5a5c93">More...</a><br/></td></tr>
+<tr class="memdesc:ad95e1c14c3007ca18950bf8f4c5a5c93"><td class="mdescLeft"> </td><td class="mdescRight">Convert n-dimensional coordinates into a linear index. <a href="#ad95e1c14c3007ca18950bf8f4c5a5c93">More...</a><br /></td></tr>
<tr class="separator:ad95e1c14c3007ca18950bf8f4c5a5c93"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a41c1523098580451b378f76b8c37a0f0"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a41c1523098580451b378f76b8c37a0f0">adjust_down</a> (int required, int available, int step)</td></tr>
-<tr class="memdesc:a41c1523098580451b378f76b8c37a0f0"><td class="mdescLeft"> </td><td class="mdescRight">Decrease <code>required</code> in steps of <code>step</code> until it's less than <code>available</code>. <a href="#a41c1523098580451b378f76b8c37a0f0">More...</a><br/></td></tr>
+<tr class="memdesc:a41c1523098580451b378f76b8c37a0f0"><td class="mdescLeft"> </td><td class="mdescRight">Decrease <code>required</code> in steps of <code>step</code> until it's less than <code>available</code>. <a href="#a41c1523098580451b378f76b8c37a0f0">More...</a><br /></td></tr>
<tr class="separator:a41c1523098580451b378f76b8c37a0f0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2">adjust_up</a> (int required, int available, int step)</td></tr>
-<tr class="memdesc:ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"><td class="mdescLeft"> </td><td class="mdescRight">Increase <code>required</code> in steps of <code>step</code> until it's greater than <code>available</code>. <a href="#ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2">More...</a><br/></td></tr>
+<tr class="memdesc:ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"><td class="mdescLeft"> </td><td class="mdescRight">Increase <code>required</code> in steps of <code>step</code> until it's greater than <code>available</code>. <a href="#ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2">More...</a><br /></td></tr>
<tr class="separator:ab16fcfbfc3ee6dbc0c112f0bc9b3d9c2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5e28a3911204ac952601f512c82b48f1"><td class="memItemLeft" align="right" valign="top">int32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5e28a3911204ac952601f512c82b48f1">rounding_divide_by_pow2</a> (int32x4_t x, int exponent)</td></tr>
+<tr class="memdesc:a5e28a3911204ac952601f512c82b48f1"><td class="mdescLeft"> </td><td class="mdescRight">Round to the nearest division by a power-of-two using exponent. <a href="#a5e28a3911204ac952601f512c82b48f1">More...</a><br /></td></tr>
+<tr class="separator:a5e28a3911204ac952601f512c82b48f1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aba8de9eaa10a7cb45c5aa603585d0e4c"><td class="memItemLeft" align="right" valign="top">uint8x16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aba8de9eaa10a7cb45c5aa603585d0e4c">vmlaq_qasymm8</a> (<a class="el" href="namespacearm__compute.xhtml#ac7e1832b8c58f07a98fc8d390b16ac27">qasymm8x16_t</a> vd, float32x4_t vs, float32x4_t vo)</td></tr>
+<tr class="memdesc:aba8de9eaa10a7cb45c5aa603585d0e4c"><td class="mdescLeft"> </td><td class="mdescRight">Perform a multiply-accumulate on all 16 components of a QASYMM8 vector. <a href="#aba8de9eaa10a7cb45c5aa603585d0e4c">More...</a><br /></td></tr>
+<tr class="separator:aba8de9eaa10a7cb45c5aa603585d0e4c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a93cc303c8ae098d264f07d37890412de"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a93cc303c8ae098d264f07d37890412de">colorconvert_rgb_to_rgbx</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &win)</td></tr>
<tr class="separator:a93cc303c8ae098d264f07d37890412de"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:acf7451c0d0f8a4b1cfbb60d7531a43aa"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acf7451c0d0f8a4b1cfbb60d7531a43aa">colorconvert_rgbx_to_rgb</a> (const void *input, void *output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &win)</td></tr>
@@ -2430,392 +2817,392 @@
<tr class="memitem:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad304c0b0a72ed3f65c24fa69ab3cd53e">colorconvert_rgb_to_yuv4</a> (const void *__restrict input, void *__restrict output, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &win)</td></tr>
<tr class="separator:ad304c0b0a72ed3f65c24fa69ab3cd53e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a85ff7d135f7aa13359bd575139ba14dd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a85ff7d135f7aa13359bd575139ba14dd">vget_low_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a)</td></tr>
-<tr class="memdesc:a85ff7d135f7aa13359bd575139ba14dd"><td class="mdescLeft"> </td><td class="mdescRight">Get the lower half of a 16 elements vector. <a href="#a85ff7d135f7aa13359bd575139ba14dd">More...</a><br/></td></tr>
+<tr class="memdesc:a85ff7d135f7aa13359bd575139ba14dd"><td class="mdescLeft"> </td><td class="mdescRight">Get the lower half of a 16 elements vector. <a href="#a85ff7d135f7aa13359bd575139ba14dd">More...</a><br /></td></tr>
<tr class="separator:a85ff7d135f7aa13359bd575139ba14dd"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae895c5b470fcf069afd626bb36c63e3d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
-<tr class="memdesc:ae895c5b470fcf069afd626bb36c63e3d"><td class="mdescLeft"> </td><td class="mdescRight">Get the lower half of a 16 elements vector. <a href="#ae895c5b470fcf069afd626bb36c63e3d">More...</a><br/></td></tr>
+<tr class="memdesc:ae895c5b470fcf069afd626bb36c63e3d"><td class="mdescLeft"> </td><td class="mdescRight">Get the lower half of a 16 elements vector. <a href="#ae895c5b470fcf069afd626bb36c63e3d">More...</a><br /></td></tr>
<tr class="separator:ae895c5b470fcf069afd626bb36c63e3d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab93c92d0f3228809b6a4bfaa24eb4924"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab93c92d0f3228809b6a4bfaa24eb4924">vget_high_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a)</td></tr>
-<tr class="memdesc:ab93c92d0f3228809b6a4bfaa24eb4924"><td class="mdescLeft"> </td><td class="mdescRight">Get the higher half of a 16 elements vector. <a href="#ab93c92d0f3228809b6a4bfaa24eb4924">More...</a><br/></td></tr>
+<tr class="memdesc:ab93c92d0f3228809b6a4bfaa24eb4924"><td class="mdescLeft"> </td><td class="mdescRight">Get the higher half of a 16 elements vector. <a href="#ab93c92d0f3228809b6a4bfaa24eb4924">More...</a><br /></td></tr>
<tr class="separator:ab93c92d0f3228809b6a4bfaa24eb4924"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac2edef8bf07bce91b37aa02b952b8ed6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
-<tr class="memdesc:ac2edef8bf07bce91b37aa02b952b8ed6"><td class="mdescLeft"> </td><td class="mdescRight">Get the higher half of a 16 elements vector. <a href="#ac2edef8bf07bce91b37aa02b952b8ed6">More...</a><br/></td></tr>
+<tr class="memdesc:ac2edef8bf07bce91b37aa02b952b8ed6"><td class="mdescLeft"> </td><td class="mdescRight">Get the higher half of a 16 elements vector. <a href="#ac2edef8bf07bce91b37aa02b952b8ed6">More...</a><br /></td></tr>
<tr class="separator:ac2edef8bf07bce91b37aa02b952b8ed6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a77ef79482edac98140bbdfaeffb78b8f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a77ef79482edac98140bbdfaeffb78b8f">vld1_qs8</a> (const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr)</td></tr>
-<tr class="memdesc:a77ef79482edac98140bbdfaeffb78b8f"><td class="mdescLeft"> </td><td class="mdescRight">Load a single 8 bit fixed point vector from memory (8 elements) <a href="#a77ef79482edac98140bbdfaeffb78b8f">More...</a><br/></td></tr>
+<tr class="memdesc:a77ef79482edac98140bbdfaeffb78b8f"><td class="mdescLeft"> </td><td class="mdescRight">Load a single 8 bit fixed point vector from memory (8 elements) <a href="#a77ef79482edac98140bbdfaeffb78b8f">More...</a><br /></td></tr>
<tr class="separator:a77ef79482edac98140bbdfaeffb78b8f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1470ca9d692f773f33ddbd9b3a37f1f9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1470ca9d692f773f33ddbd9b3a37f1f9">vld1_qs16</a> (const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
-<tr class="memdesc:a1470ca9d692f773f33ddbd9b3a37f1f9"><td class="mdescLeft"> </td><td class="mdescRight">Load a single 16 bit fixed point vector from memory (4 elements) <a href="#a1470ca9d692f773f33ddbd9b3a37f1f9">More...</a><br/></td></tr>
+<tr class="memdesc:a1470ca9d692f773f33ddbd9b3a37f1f9"><td class="mdescLeft"> </td><td class="mdescRight">Load a single 16 bit fixed point vector from memory (4 elements) <a href="#a1470ca9d692f773f33ddbd9b3a37f1f9">More...</a><br /></td></tr>
<tr class="separator:a1470ca9d692f773f33ddbd9b3a37f1f9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aba22755f7d41ffc62e23e5594751ecaa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aba22755f7d41ffc62e23e5594751ecaa">vld1q_qs8</a> (const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr)</td></tr>
-<tr class="memdesc:aba22755f7d41ffc62e23e5594751ecaa"><td class="mdescLeft"> </td><td class="mdescRight">Load a single 8 bit fixed point vector from memory (16 elements) <a href="#aba22755f7d41ffc62e23e5594751ecaa">More...</a><br/></td></tr>
+<tr class="memdesc:aba22755f7d41ffc62e23e5594751ecaa"><td class="mdescLeft"> </td><td class="mdescRight">Load a single 8 bit fixed point vector from memory (16 elements) <a href="#aba22755f7d41ffc62e23e5594751ecaa">More...</a><br /></td></tr>
<tr class="separator:aba22755f7d41ffc62e23e5594751ecaa"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aaa2cfaf59eb25ffb975bea87844e23c6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aaa2cfaf59eb25ffb975bea87844e23c6">vld1q_qs16</a> (const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
-<tr class="memdesc:aaa2cfaf59eb25ffb975bea87844e23c6"><td class="mdescLeft"> </td><td class="mdescRight">Load a single 16 bit fixed point vector from memory (8 elements) <a href="#aaa2cfaf59eb25ffb975bea87844e23c6">More...</a><br/></td></tr>
+<tr class="memdesc:aaa2cfaf59eb25ffb975bea87844e23c6"><td class="mdescLeft"> </td><td class="mdescRight">Load a single 16 bit fixed point vector from memory (8 elements) <a href="#aaa2cfaf59eb25ffb975bea87844e23c6">More...</a><br /></td></tr>
<tr class="separator:aaa2cfaf59eb25ffb975bea87844e23c6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ada853a8e19c80626633d95392d2b4a8b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ada853a8e19c80626633d95392d2b4a8b">vld1_dup_qs8</a> (const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr)</td></tr>
-<tr class="memdesc:ada853a8e19c80626633d95392d2b4a8b"><td class="mdescLeft"> </td><td class="mdescRight">Load all lanes of 8 bit fixed point vector with same value from memory (8 elements) <a href="#ada853a8e19c80626633d95392d2b4a8b">More...</a><br/></td></tr>
+<tr class="memdesc:ada853a8e19c80626633d95392d2b4a8b"><td class="mdescLeft"> </td><td class="mdescRight">Load all lanes of 8 bit fixed point vector with same value from memory (8 elements) <a href="#ada853a8e19c80626633d95392d2b4a8b">More...</a><br /></td></tr>
<tr class="separator:ada853a8e19c80626633d95392d2b4a8b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4cd20897bfcf3b38125c1b1cd3642d2f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4cd20897bfcf3b38125c1b1cd3642d2f">vld1_dup_qs16</a> (const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
-<tr class="memdesc:a4cd20897bfcf3b38125c1b1cd3642d2f"><td class="mdescLeft"> </td><td class="mdescRight">Load all lanes of 16 bit fixed point vector with same value from memory (4 elements) <a href="#a4cd20897bfcf3b38125c1b1cd3642d2f">More...</a><br/></td></tr>
+<tr class="memdesc:a4cd20897bfcf3b38125c1b1cd3642d2f"><td class="mdescLeft"> </td><td class="mdescRight">Load all lanes of 16 bit fixed point vector with same value from memory (4 elements) <a href="#a4cd20897bfcf3b38125c1b1cd3642d2f">More...</a><br /></td></tr>
<tr class="separator:a4cd20897bfcf3b38125c1b1cd3642d2f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad988b528a38525b8ceca56ed8d09c801"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad988b528a38525b8ceca56ed8d09c801">vld1q_dup_qs8</a> (const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr)</td></tr>
-<tr class="memdesc:ad988b528a38525b8ceca56ed8d09c801"><td class="mdescLeft"> </td><td class="mdescRight">Load all lanes of 8 bit fixed point vector with same value from memory (16 elements) <a href="#ad988b528a38525b8ceca56ed8d09c801">More...</a><br/></td></tr>
+<tr class="memdesc:ad988b528a38525b8ceca56ed8d09c801"><td class="mdescLeft"> </td><td class="mdescRight">Load all lanes of 8 bit fixed point vector with same value from memory (16 elements) <a href="#ad988b528a38525b8ceca56ed8d09c801">More...</a><br /></td></tr>
<tr class="separator:ad988b528a38525b8ceca56ed8d09c801"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa3b4b5dc205a2edb9dd2f08b0dbbf3e7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa3b4b5dc205a2edb9dd2f08b0dbbf3e7">vld1q_dup_qs16</a> (const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
-<tr class="memdesc:aa3b4b5dc205a2edb9dd2f08b0dbbf3e7"><td class="mdescLeft"> </td><td class="mdescRight">Load all lanes of 16 bit fixed point vector with same value from memory (8 elements) <a href="#aa3b4b5dc205a2edb9dd2f08b0dbbf3e7">More...</a><br/></td></tr>
+<tr class="memdesc:aa3b4b5dc205a2edb9dd2f08b0dbbf3e7"><td class="mdescLeft"> </td><td class="mdescRight">Load all lanes of 16 bit fixed point vector with same value from memory (8 elements) <a href="#aa3b4b5dc205a2edb9dd2f08b0dbbf3e7">More...</a><br /></td></tr>
<tr class="separator:aa3b4b5dc205a2edb9dd2f08b0dbbf3e7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8bab58697ee7d7df117384a05d4e2f92"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8bab58697ee7d7df117384a05d4e2f92">vld2q_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
-<tr class="memdesc:a8bab58697ee7d7df117384a05d4e2f92"><td class="mdescLeft"> </td><td class="mdescRight">Load two 16 bit fixed point vectors from memory (8x2 elements) <a href="#a8bab58697ee7d7df117384a05d4e2f92">More...</a><br/></td></tr>
+<tr class="memdesc:a8bab58697ee7d7df117384a05d4e2f92"><td class="mdescLeft"> </td><td class="mdescRight">Load two 16 bit fixed point vectors from memory (8x2 elements) <a href="#a8bab58697ee7d7df117384a05d4e2f92">More...</a><br /></td></tr>
<tr class="separator:a8bab58697ee7d7df117384a05d4e2f92"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a509f3f9d910651d71d9f7dc3b5b3b92a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a509f3f9d910651d71d9f7dc3b5b3b92a">vst1_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
-<tr class="memdesc:a509f3f9d910651d71d9f7dc3b5b3b92a"><td class="mdescLeft"> </td><td class="mdescRight">Store a single 8 bit fixed point vector to memory (8 elements) <a href="#a509f3f9d910651d71d9f7dc3b5b3b92a">More...</a><br/></td></tr>
+<tr class="memdesc:a509f3f9d910651d71d9f7dc3b5b3b92a"><td class="mdescLeft"> </td><td class="mdescRight">Store a single 8 bit fixed point vector to memory (8 elements) <a href="#a509f3f9d910651d71d9f7dc3b5b3b92a">More...</a><br /></td></tr>
<tr class="separator:a509f3f9d910651d71d9f7dc3b5b3b92a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1d54a1ef0078902b2334d2fddba74ca6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1d54a1ef0078902b2334d2fddba74ca6">vst1_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
-<tr class="memdesc:a1d54a1ef0078902b2334d2fddba74ca6"><td class="mdescLeft"> </td><td class="mdescRight">Store a single 16 bit fixed point vector to memory (4 elements) <a href="#a1d54a1ef0078902b2334d2fddba74ca6">More...</a><br/></td></tr>
+<tr class="memdesc:a1d54a1ef0078902b2334d2fddba74ca6"><td class="mdescLeft"> </td><td class="mdescRight">Store a single 16 bit fixed point vector to memory (4 elements) <a href="#a1d54a1ef0078902b2334d2fddba74ca6">More...</a><br /></td></tr>
<tr class="separator:a1d54a1ef0078902b2334d2fddba74ca6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:acf4cb0bc89b25c5fac96935d040207f6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acf4cb0bc89b25c5fac96935d040207f6">vst1q_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> *addr, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
-<tr class="memdesc:acf4cb0bc89b25c5fac96935d040207f6"><td class="mdescLeft"> </td><td class="mdescRight">Store a single 8 bit fixed point vector to memory (16 elements) <a href="#acf4cb0bc89b25c5fac96935d040207f6">More...</a><br/></td></tr>
+<tr class="memdesc:acf4cb0bc89b25c5fac96935d040207f6"><td class="mdescLeft"> </td><td class="mdescRight">Store a single 8 bit fixed point vector to memory (16 elements) <a href="#acf4cb0bc89b25c5fac96935d040207f6">More...</a><br /></td></tr>
<tr class="separator:acf4cb0bc89b25c5fac96935d040207f6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8bb5f297efd64b941f5022ea3cd7ee9a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8bb5f297efd64b941f5022ea3cd7ee9a">vst1q_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
-<tr class="memdesc:a8bb5f297efd64b941f5022ea3cd7ee9a"><td class="mdescLeft"> </td><td class="mdescRight">Store a single 16 bit fixed point vector to memory (8 elements) <a href="#a8bb5f297efd64b941f5022ea3cd7ee9a">More...</a><br/></td></tr>
+<tr class="memdesc:a8bb5f297efd64b941f5022ea3cd7ee9a"><td class="mdescLeft"> </td><td class="mdescRight">Store a single 16 bit fixed point vector to memory (8 elements) <a href="#a8bb5f297efd64b941f5022ea3cd7ee9a">More...</a><br /></td></tr>
<tr class="separator:a8bb5f297efd64b941f5022ea3cd7ee9a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a22c6d123d670e84d939d5b887976328d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a22c6d123d670e84d939d5b887976328d">vst2q_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr, <a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a> b)</td></tr>
-<tr class="memdesc:a22c6d123d670e84d939d5b887976328d"><td class="mdescLeft"> </td><td class="mdescRight">Store two 16 bit fixed point vector to memory (8x2 elements) <a href="#a22c6d123d670e84d939d5b887976328d">More...</a><br/></td></tr>
+<tr class="memdesc:a22c6d123d670e84d939d5b887976328d"><td class="mdescLeft"> </td><td class="mdescRight">Store two 16 bit fixed point vector to memory (8x2 elements) <a href="#a22c6d123d670e84d939d5b887976328d">More...</a><br /></td></tr>
<tr class="separator:a22c6d123d670e84d939d5b887976328d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a92c2d0b9a8eeb3ab04a39a25fef2b6c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a92c2d0b9a8eeb3ab04a39a25fef2b6c3">vqmovn_q16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
-<tr class="memdesc:a92c2d0b9a8eeb3ab04a39a25fef2b6c3"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector saturating narrow (8 elements) <a href="#a92c2d0b9a8eeb3ab04a39a25fef2b6c3">More...</a><br/></td></tr>
+<tr class="memdesc:a92c2d0b9a8eeb3ab04a39a25fef2b6c3"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector saturating narrow (8 elements) <a href="#a92c2d0b9a8eeb3ab04a39a25fef2b6c3">More...</a><br /></td></tr>
<tr class="separator:a92c2d0b9a8eeb3ab04a39a25fef2b6c3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a12e7578c32321d2362114563881153ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a12e7578c32321d2362114563881153ee">vqmovn_q32</a> (<a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> a)</td></tr>
-<tr class="memdesc:a12e7578c32321d2362114563881153ee"><td class="mdescLeft"> </td><td class="mdescRight">32 bit fixed point vector saturating narrow (4 elements) <a href="#a12e7578c32321d2362114563881153ee">More...</a><br/></td></tr>
+<tr class="memdesc:a12e7578c32321d2362114563881153ee"><td class="mdescLeft"> </td><td class="mdescRight">32 bit fixed point vector saturating narrow (4 elements) <a href="#a12e7578c32321d2362114563881153ee">More...</a><br /></td></tr>
<tr class="separator:a12e7578c32321d2362114563881153ee"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1a226812e3cfdf3494adbdd92d4a1cb3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1a226812e3cfdf3494adbdd92d4a1cb3">vdup_n_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a)</td></tr>
-<tr class="memdesc:a1a226812e3cfdf3494adbdd92d4a1cb3"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector duplicate (8 elements) <a href="#a1a226812e3cfdf3494adbdd92d4a1cb3">More...</a><br/></td></tr>
+<tr class="memdesc:a1a226812e3cfdf3494adbdd92d4a1cb3"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector duplicate (8 elements) <a href="#a1a226812e3cfdf3494adbdd92d4a1cb3">More...</a><br /></td></tr>
<tr class="separator:a1a226812e3cfdf3494adbdd92d4a1cb3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1f6c3965dec29d8ac84ff84a164e9d8e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1f6c3965dec29d8ac84ff84a164e9d8e">vdup_n_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> a)</td></tr>
-<tr class="memdesc:a1f6c3965dec29d8ac84ff84a164e9d8e"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector duplicate (4 elements) <a href="#a1f6c3965dec29d8ac84ff84a164e9d8e">More...</a><br/></td></tr>
+<tr class="memdesc:a1f6c3965dec29d8ac84ff84a164e9d8e"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector duplicate (4 elements) <a href="#a1f6c3965dec29d8ac84ff84a164e9d8e">More...</a><br /></td></tr>
<tr class="separator:a1f6c3965dec29d8ac84ff84a164e9d8e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:adbd4df93ed00fcda54f91e669ea2be04"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adbd4df93ed00fcda54f91e669ea2be04">vdupq_n_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> a)</td></tr>
-<tr class="memdesc:adbd4df93ed00fcda54f91e669ea2be04"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector duplicate (16 elements) <a href="#adbd4df93ed00fcda54f91e669ea2be04">More...</a><br/></td></tr>
+<tr class="memdesc:adbd4df93ed00fcda54f91e669ea2be04"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector duplicate (16 elements) <a href="#adbd4df93ed00fcda54f91e669ea2be04">More...</a><br /></td></tr>
<tr class="separator:adbd4df93ed00fcda54f91e669ea2be04"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab20e66231de6c259952534de39214784"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab20e66231de6c259952534de39214784">vdupq_n_qs8_f32</a> (float a, int fixed_point_position)</td></tr>
-<tr class="memdesc:ab20e66231de6c259952534de39214784"><td class="mdescLeft"> </td><td class="mdescRight">Duplicate a float and convert it to 8 bit fixed point vector (16 elements) <a href="#ab20e66231de6c259952534de39214784">More...</a><br/></td></tr>
+<tr class="memdesc:ab20e66231de6c259952534de39214784"><td class="mdescLeft"> </td><td class="mdescRight">Duplicate a float and convert it to 8 bit fixed point vector (16 elements) <a href="#ab20e66231de6c259952534de39214784">More...</a><br /></td></tr>
<tr class="separator:ab20e66231de6c259952534de39214784"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2b3337b650277502ad64d8ba55f9b8b2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2b3337b650277502ad64d8ba55f9b8b2">vdupq_n_qs16_f32</a> (float a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a2b3337b650277502ad64d8ba55f9b8b2"><td class="mdescLeft"> </td><td class="mdescRight">Duplicate a float and convert it to 16 bit fixed point vector (8 elements) <a href="#a2b3337b650277502ad64d8ba55f9b8b2">More...</a><br/></td></tr>
+<tr class="memdesc:a2b3337b650277502ad64d8ba55f9b8b2"><td class="mdescLeft"> </td><td class="mdescRight">Duplicate a float and convert it to 16 bit fixed point vector (8 elements) <a href="#a2b3337b650277502ad64d8ba55f9b8b2">More...</a><br /></td></tr>
<tr class="separator:a2b3337b650277502ad64d8ba55f9b8b2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a740436aed8843612da747f40ff926875"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a740436aed8843612da747f40ff926875">vdupq_n_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
-<tr class="memdesc:a740436aed8843612da747f40ff926875"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector duplicate (8 elements) <a href="#a740436aed8843612da747f40ff926875">More...</a><br/></td></tr>
+<tr class="memdesc:a740436aed8843612da747f40ff926875"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector duplicate (8 elements) <a href="#a740436aed8843612da747f40ff926875">More...</a><br /></td></tr>
<tr class="separator:a740436aed8843612da747f40ff926875"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab62f4e080614df358423180767cffefd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab62f4e080614df358423180767cffefd">vabs_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a)</td></tr>
-<tr class="memdesc:ab62f4e080614df358423180767cffefd"><td class="mdescLeft"> </td><td class="mdescRight">Absolute value of 8 bit fixed point vector (8 elements) <a href="#ab62f4e080614df358423180767cffefd">More...</a><br/></td></tr>
+<tr class="memdesc:ab62f4e080614df358423180767cffefd"><td class="mdescLeft"> </td><td class="mdescRight">Absolute value of 8 bit fixed point vector (8 elements) <a href="#ab62f4e080614df358423180767cffefd">More...</a><br /></td></tr>
<tr class="separator:ab62f4e080614df358423180767cffefd"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5344249fe56e2a6cf0b7336c069cb846"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5344249fe56e2a6cf0b7336c069cb846">vabs_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a)</td></tr>
-<tr class="memdesc:a5344249fe56e2a6cf0b7336c069cb846"><td class="mdescLeft"> </td><td class="mdescRight">Absolute value of 16 bit fixed point vector (4 elements) <a href="#a5344249fe56e2a6cf0b7336c069cb846">More...</a><br/></td></tr>
+<tr class="memdesc:a5344249fe56e2a6cf0b7336c069cb846"><td class="mdescLeft"> </td><td class="mdescRight">Absolute value of 16 bit fixed point vector (4 elements) <a href="#a5344249fe56e2a6cf0b7336c069cb846">More...</a><br /></td></tr>
<tr class="separator:a5344249fe56e2a6cf0b7336c069cb846"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3e4c45da2bef323158955d7c3b9d148d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3e4c45da2bef323158955d7c3b9d148d">vabsq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a)</td></tr>
-<tr class="memdesc:a3e4c45da2bef323158955d7c3b9d148d"><td class="mdescLeft"> </td><td class="mdescRight">Absolute value of 8 bit fixed point vector (16 elements) <a href="#a3e4c45da2bef323158955d7c3b9d148d">More...</a><br/></td></tr>
+<tr class="memdesc:a3e4c45da2bef323158955d7c3b9d148d"><td class="mdescLeft"> </td><td class="mdescRight">Absolute value of 8 bit fixed point vector (16 elements) <a href="#a3e4c45da2bef323158955d7c3b9d148d">More...</a><br /></td></tr>
<tr class="separator:a3e4c45da2bef323158955d7c3b9d148d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a15cf61eaeb7d9b008f262936f6f4cca8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a15cf61eaeb7d9b008f262936f6f4cca8">vabsq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
-<tr class="memdesc:a15cf61eaeb7d9b008f262936f6f4cca8"><td class="mdescLeft"> </td><td class="mdescRight">Absolute value of 16 bit fixed point vector (8 elements) <a href="#a15cf61eaeb7d9b008f262936f6f4cca8">More...</a><br/></td></tr>
+<tr class="memdesc:a15cf61eaeb7d9b008f262936f6f4cca8"><td class="mdescLeft"> </td><td class="mdescRight">Absolute value of 16 bit fixed point vector (8 elements) <a href="#a15cf61eaeb7d9b008f262936f6f4cca8">More...</a><br /></td></tr>
<tr class="separator:a15cf61eaeb7d9b008f262936f6f4cca8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4b2c9440d5fa4909ae909869877f39e3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4b2c9440d5fa4909ae909869877f39e3">vqabs_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a)</td></tr>
-<tr class="memdesc:a4b2c9440d5fa4909ae909869877f39e3"><td class="mdescLeft"> </td><td class="mdescRight">Saturating absolute value of 8 bit fixed point vector (8 elements) <a href="#a4b2c9440d5fa4909ae909869877f39e3">More...</a><br/></td></tr>
+<tr class="memdesc:a4b2c9440d5fa4909ae909869877f39e3"><td class="mdescLeft"> </td><td class="mdescRight">Saturating absolute value of 8 bit fixed point vector (8 elements) <a href="#a4b2c9440d5fa4909ae909869877f39e3">More...</a><br /></td></tr>
<tr class="separator:a4b2c9440d5fa4909ae909869877f39e3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7c97511a35de87be34f48b4ab4b3c222"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7c97511a35de87be34f48b4ab4b3c222">vqabs_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a)</td></tr>
-<tr class="memdesc:a7c97511a35de87be34f48b4ab4b3c222"><td class="mdescLeft"> </td><td class="mdescRight">Saturating absolute value of 16 bit fixed point vector (4 elements) <a href="#a7c97511a35de87be34f48b4ab4b3c222">More...</a><br/></td></tr>
+<tr class="memdesc:a7c97511a35de87be34f48b4ab4b3c222"><td class="mdescLeft"> </td><td class="mdescRight">Saturating absolute value of 16 bit fixed point vector (4 elements) <a href="#a7c97511a35de87be34f48b4ab4b3c222">More...</a><br /></td></tr>
<tr class="separator:a7c97511a35de87be34f48b4ab4b3c222"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac8095edd652a1f3a76bf9d0f4251827a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac8095edd652a1f3a76bf9d0f4251827a">vqabsq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a)</td></tr>
-<tr class="memdesc:ac8095edd652a1f3a76bf9d0f4251827a"><td class="mdescLeft"> </td><td class="mdescRight">Saturating absolute value of 8 bit fixed point vector (16 elements) <a href="#ac8095edd652a1f3a76bf9d0f4251827a">More...</a><br/></td></tr>
+<tr class="memdesc:ac8095edd652a1f3a76bf9d0f4251827a"><td class="mdescLeft"> </td><td class="mdescRight">Saturating absolute value of 8 bit fixed point vector (16 elements) <a href="#ac8095edd652a1f3a76bf9d0f4251827a">More...</a><br /></td></tr>
<tr class="separator:ac8095edd652a1f3a76bf9d0f4251827a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa001ed913705cf378d947052435917aa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa001ed913705cf378d947052435917aa">vqabsq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a)</td></tr>
-<tr class="memdesc:aa001ed913705cf378d947052435917aa"><td class="mdescLeft"> </td><td class="mdescRight">Saturating absolute value of 16 bit fixed point vector (8 elements) <a href="#aa001ed913705cf378d947052435917aa">More...</a><br/></td></tr>
+<tr class="memdesc:aa001ed913705cf378d947052435917aa"><td class="mdescLeft"> </td><td class="mdescRight">Saturating absolute value of 16 bit fixed point vector (8 elements) <a href="#aa001ed913705cf378d947052435917aa">More...</a><br /></td></tr>
<tr class="separator:aa001ed913705cf378d947052435917aa"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3e913e95e286244f24f9a381909c8b26"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3e913e95e286244f24f9a381909c8b26">vmax_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
-<tr class="memdesc:a3e913e95e286244f24f9a381909c8b26"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector max (8 elements) <a href="#a3e913e95e286244f24f9a381909c8b26">More...</a><br/></td></tr>
+<tr class="memdesc:a3e913e95e286244f24f9a381909c8b26"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector max (8 elements) <a href="#a3e913e95e286244f24f9a381909c8b26">More...</a><br /></td></tr>
<tr class="separator:a3e913e95e286244f24f9a381909c8b26"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5db8c0cf0dba918904733f0c9a8bedc8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5db8c0cf0dba918904733f0c9a8bedc8">vmax_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
-<tr class="memdesc:a5db8c0cf0dba918904733f0c9a8bedc8"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector max (4 elements) <a href="#a5db8c0cf0dba918904733f0c9a8bedc8">More...</a><br/></td></tr>
+<tr class="memdesc:a5db8c0cf0dba918904733f0c9a8bedc8"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector max (4 elements) <a href="#a5db8c0cf0dba918904733f0c9a8bedc8">More...</a><br /></td></tr>
<tr class="separator:a5db8c0cf0dba918904733f0c9a8bedc8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1627f818fb2ca90f7c3880f959030556"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1627f818fb2ca90f7c3880f959030556">vmaxq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
-<tr class="memdesc:a1627f818fb2ca90f7c3880f959030556"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector max (16 elements) <a href="#a1627f818fb2ca90f7c3880f959030556">More...</a><br/></td></tr>
+<tr class="memdesc:a1627f818fb2ca90f7c3880f959030556"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector max (16 elements) <a href="#a1627f818fb2ca90f7c3880f959030556">More...</a><br /></td></tr>
<tr class="separator:a1627f818fb2ca90f7c3880f959030556"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a952d1f0a7f47167985554aed39b737ac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a952d1f0a7f47167985554aed39b737ac">vmaxq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
-<tr class="memdesc:a952d1f0a7f47167985554aed39b737ac"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector max (8 elements) <a href="#a952d1f0a7f47167985554aed39b737ac">More...</a><br/></td></tr>
+<tr class="memdesc:a952d1f0a7f47167985554aed39b737ac"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector max (8 elements) <a href="#a952d1f0a7f47167985554aed39b737ac">More...</a><br /></td></tr>
<tr class="separator:a952d1f0a7f47167985554aed39b737ac"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1ecd37cd4eb461a98ca7c429e51802d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1ecd37cd4eb461a98ca7c429e51802d2">vpmax_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
-<tr class="memdesc:a1ecd37cd4eb461a98ca7c429e51802d2"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector pairwise max (8 elements) <a href="#a1ecd37cd4eb461a98ca7c429e51802d2">More...</a><br/></td></tr>
+<tr class="memdesc:a1ecd37cd4eb461a98ca7c429e51802d2"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector pairwise max (8 elements) <a href="#a1ecd37cd4eb461a98ca7c429e51802d2">More...</a><br /></td></tr>
<tr class="separator:a1ecd37cd4eb461a98ca7c429e51802d2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8ee6fe28466be3c48a70debe663b08d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8ee6fe28466be3c48a70debe663b08d4">vpmax_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
-<tr class="memdesc:a8ee6fe28466be3c48a70debe663b08d4"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector pairwise max (4 elements) <a href="#a8ee6fe28466be3c48a70debe663b08d4">More...</a><br/></td></tr>
+<tr class="memdesc:a8ee6fe28466be3c48a70debe663b08d4"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector pairwise max (4 elements) <a href="#a8ee6fe28466be3c48a70debe663b08d4">More...</a><br /></td></tr>
<tr class="separator:a8ee6fe28466be3c48a70debe663b08d4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abed4a7c95569e1fa72d0f8bfe5a50c84"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abed4a7c95569e1fa72d0f8bfe5a50c84">vmin_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
-<tr class="memdesc:abed4a7c95569e1fa72d0f8bfe5a50c84"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector min (8 elements) <a href="#abed4a7c95569e1fa72d0f8bfe5a50c84">More...</a><br/></td></tr>
+<tr class="memdesc:abed4a7c95569e1fa72d0f8bfe5a50c84"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector min (8 elements) <a href="#abed4a7c95569e1fa72d0f8bfe5a50c84">More...</a><br /></td></tr>
<tr class="separator:abed4a7c95569e1fa72d0f8bfe5a50c84"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac0eb95618787b12b93aeb2f3f101dad2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac0eb95618787b12b93aeb2f3f101dad2">vmin_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
-<tr class="memdesc:ac0eb95618787b12b93aeb2f3f101dad2"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector min (4 elements) <a href="#ac0eb95618787b12b93aeb2f3f101dad2">More...</a><br/></td></tr>
+<tr class="memdesc:ac0eb95618787b12b93aeb2f3f101dad2"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector min (4 elements) <a href="#ac0eb95618787b12b93aeb2f3f101dad2">More...</a><br /></td></tr>
<tr class="separator:ac0eb95618787b12b93aeb2f3f101dad2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3b393341c8500b469780137b3548f70b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3b393341c8500b469780137b3548f70b">vminq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
-<tr class="memdesc:a3b393341c8500b469780137b3548f70b"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector min (16 elements) <a href="#a3b393341c8500b469780137b3548f70b">More...</a><br/></td></tr>
+<tr class="memdesc:a3b393341c8500b469780137b3548f70b"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector min (16 elements) <a href="#a3b393341c8500b469780137b3548f70b">More...</a><br /></td></tr>
<tr class="separator:a3b393341c8500b469780137b3548f70b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9724e1c56a877ce483c84420297dd638"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9724e1c56a877ce483c84420297dd638">vminq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
-<tr class="memdesc:a9724e1c56a877ce483c84420297dd638"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector min (8 elements) <a href="#a9724e1c56a877ce483c84420297dd638">More...</a><br/></td></tr>
+<tr class="memdesc:a9724e1c56a877ce483c84420297dd638"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector min (8 elements) <a href="#a9724e1c56a877ce483c84420297dd638">More...</a><br /></td></tr>
<tr class="separator:a9724e1c56a877ce483c84420297dd638"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad3f599d91685017d37e87d36170a5342"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad3f599d91685017d37e87d36170a5342">vpmin_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
-<tr class="memdesc:ad3f599d91685017d37e87d36170a5342"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector pairwise min (8 elements) <a href="#ad3f599d91685017d37e87d36170a5342">More...</a><br/></td></tr>
+<tr class="memdesc:ad3f599d91685017d37e87d36170a5342"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector pairwise min (8 elements) <a href="#ad3f599d91685017d37e87d36170a5342">More...</a><br /></td></tr>
<tr class="separator:ad3f599d91685017d37e87d36170a5342"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9d9d1279b08f3e79fd0cf019b79138f9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9d9d1279b08f3e79fd0cf019b79138f9">vpmin_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
-<tr class="memdesc:a9d9d1279b08f3e79fd0cf019b79138f9"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector pairwise min (4 elements) <a href="#a9d9d1279b08f3e79fd0cf019b79138f9">More...</a><br/></td></tr>
+<tr class="memdesc:a9d9d1279b08f3e79fd0cf019b79138f9"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector pairwise min (4 elements) <a href="#a9d9d1279b08f3e79fd0cf019b79138f9">More...</a><br /></td></tr>
<tr class="separator:a9d9d1279b08f3e79fd0cf019b79138f9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad91fc981c1b7b04a1975de3aefc6a4f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad91fc981c1b7b04a1975de3aefc6a4f7">vadd_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
-<tr class="memdesc:ad91fc981c1b7b04a1975de3aefc6a4f7"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector add (8 elements) <a href="#ad91fc981c1b7b04a1975de3aefc6a4f7">More...</a><br/></td></tr>
+<tr class="memdesc:ad91fc981c1b7b04a1975de3aefc6a4f7"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector add (8 elements) <a href="#ad91fc981c1b7b04a1975de3aefc6a4f7">More...</a><br /></td></tr>
<tr class="separator:ad91fc981c1b7b04a1975de3aefc6a4f7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac28c9ffea6f2c962ec87f69d377faaeb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac28c9ffea6f2c962ec87f69d377faaeb">vadd_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
-<tr class="memdesc:ac28c9ffea6f2c962ec87f69d377faaeb"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector add (4 elements) <a href="#ac28c9ffea6f2c962ec87f69d377faaeb">More...</a><br/></td></tr>
+<tr class="memdesc:ac28c9ffea6f2c962ec87f69d377faaeb"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector add (4 elements) <a href="#ac28c9ffea6f2c962ec87f69d377faaeb">More...</a><br /></td></tr>
<tr class="separator:ac28c9ffea6f2c962ec87f69d377faaeb"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a30eeb53208a2f67d4b0cf73a81b09467"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a30eeb53208a2f67d4b0cf73a81b09467">vaddq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
-<tr class="memdesc:a30eeb53208a2f67d4b0cf73a81b09467"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector add (16 elements) <a href="#a30eeb53208a2f67d4b0cf73a81b09467">More...</a><br/></td></tr>
+<tr class="memdesc:a30eeb53208a2f67d4b0cf73a81b09467"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector add (16 elements) <a href="#a30eeb53208a2f67d4b0cf73a81b09467">More...</a><br /></td></tr>
<tr class="separator:a30eeb53208a2f67d4b0cf73a81b09467"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2a84234e327a554d7ce7f97f269b6efc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2a84234e327a554d7ce7f97f269b6efc">vaddq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
-<tr class="memdesc:a2a84234e327a554d7ce7f97f269b6efc"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector add (8 elements) <a href="#a2a84234e327a554d7ce7f97f269b6efc">More...</a><br/></td></tr>
+<tr class="memdesc:a2a84234e327a554d7ce7f97f269b6efc"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector add (8 elements) <a href="#a2a84234e327a554d7ce7f97f269b6efc">More...</a><br /></td></tr>
<tr class="separator:a2a84234e327a554d7ce7f97f269b6efc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8a14fe5fc71105c9bfebb28a58f06a52"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8a14fe5fc71105c9bfebb28a58f06a52">vqadd_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
-<tr class="memdesc:a8a14fe5fc71105c9bfebb28a58f06a52"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector saturating add (8 elements) <a href="#a8a14fe5fc71105c9bfebb28a58f06a52">More...</a><br/></td></tr>
+<tr class="memdesc:a8a14fe5fc71105c9bfebb28a58f06a52"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector saturating add (8 elements) <a href="#a8a14fe5fc71105c9bfebb28a58f06a52">More...</a><br /></td></tr>
<tr class="separator:a8a14fe5fc71105c9bfebb28a58f06a52"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad80ab0f6b783c10e0488cb84a8812e8f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad80ab0f6b783c10e0488cb84a8812e8f">vqadd_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
-<tr class="memdesc:ad80ab0f6b783c10e0488cb84a8812e8f"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector saturating add (4 elements) <a href="#ad80ab0f6b783c10e0488cb84a8812e8f">More...</a><br/></td></tr>
+<tr class="memdesc:ad80ab0f6b783c10e0488cb84a8812e8f"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector saturating add (4 elements) <a href="#ad80ab0f6b783c10e0488cb84a8812e8f">More...</a><br /></td></tr>
<tr class="separator:ad80ab0f6b783c10e0488cb84a8812e8f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9765c5ee2d3cc9e3ca983fd2f47ba916"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9765c5ee2d3cc9e3ca983fd2f47ba916">vqaddq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
-<tr class="memdesc:a9765c5ee2d3cc9e3ca983fd2f47ba916"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector saturating add (16 elements) <a href="#a9765c5ee2d3cc9e3ca983fd2f47ba916">More...</a><br/></td></tr>
+<tr class="memdesc:a9765c5ee2d3cc9e3ca983fd2f47ba916"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector saturating add (16 elements) <a href="#a9765c5ee2d3cc9e3ca983fd2f47ba916">More...</a><br /></td></tr>
<tr class="separator:a9765c5ee2d3cc9e3ca983fd2f47ba916"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9d88750b393cdfe6f5685107bb1d98f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9d88750b393cdfe6f5685107bb1d98f7">vqaddq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
-<tr class="memdesc:a9d88750b393cdfe6f5685107bb1d98f7"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector saturating add (8 elements) <a href="#a9d88750b393cdfe6f5685107bb1d98f7">More...</a><br/></td></tr>
+<tr class="memdesc:a9d88750b393cdfe6f5685107bb1d98f7"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector saturating add (8 elements) <a href="#a9d88750b393cdfe6f5685107bb1d98f7">More...</a><br /></td></tr>
<tr class="separator:a9d88750b393cdfe6f5685107bb1d98f7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac73b89ba44bae1df9a8998ad2a99996e"><td class="memItemLeft" align="right" valign="top">int16x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac73b89ba44bae1df9a8998ad2a99996e">vpaddl_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a)</td></tr>
-<tr class="memdesc:ac73b89ba44bae1df9a8998ad2a99996e"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector saturating pairwise add (8 elements) <a href="#ac73b89ba44bae1df9a8998ad2a99996e">More...</a><br/></td></tr>
+<tr class="memdesc:ac73b89ba44bae1df9a8998ad2a99996e"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector saturating pairwise add (8 elements) <a href="#ac73b89ba44bae1df9a8998ad2a99996e">More...</a><br /></td></tr>
<tr class="separator:ac73b89ba44bae1df9a8998ad2a99996e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a90c8ce2712bdb44fd58e3fa8b78bf6fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a90c8ce2712bdb44fd58e3fa8b78bf6fb">vsub_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
-<tr class="memdesc:a90c8ce2712bdb44fd58e3fa8b78bf6fb"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector subtraction (8 elements) <a href="#a90c8ce2712bdb44fd58e3fa8b78bf6fb">More...</a><br/></td></tr>
+<tr class="memdesc:a90c8ce2712bdb44fd58e3fa8b78bf6fb"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector subtraction (8 elements) <a href="#a90c8ce2712bdb44fd58e3fa8b78bf6fb">More...</a><br /></td></tr>
<tr class="separator:a90c8ce2712bdb44fd58e3fa8b78bf6fb"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a420a19dca7258dbae20af6d92dc62926"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a420a19dca7258dbae20af6d92dc62926">vsub_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
-<tr class="memdesc:a420a19dca7258dbae20af6d92dc62926"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector subtraction (4 elements) <a href="#a420a19dca7258dbae20af6d92dc62926">More...</a><br/></td></tr>
+<tr class="memdesc:a420a19dca7258dbae20af6d92dc62926"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector subtraction (4 elements) <a href="#a420a19dca7258dbae20af6d92dc62926">More...</a><br /></td></tr>
<tr class="separator:a420a19dca7258dbae20af6d92dc62926"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1adda6690cbca8a996255e311e4762d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1adda6690cbca8a996255e311e4762d4">vsubq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
-<tr class="memdesc:a1adda6690cbca8a996255e311e4762d4"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector subtraction (16 elements) <a href="#a1adda6690cbca8a996255e311e4762d4">More...</a><br/></td></tr>
+<tr class="memdesc:a1adda6690cbca8a996255e311e4762d4"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector subtraction (16 elements) <a href="#a1adda6690cbca8a996255e311e4762d4">More...</a><br /></td></tr>
<tr class="separator:a1adda6690cbca8a996255e311e4762d4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a43569be4a403f390486148701b424e8a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a43569be4a403f390486148701b424e8a">vsubq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
-<tr class="memdesc:a43569be4a403f390486148701b424e8a"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector subtraction (8 elements) <a href="#a43569be4a403f390486148701b424e8a">More...</a><br/></td></tr>
+<tr class="memdesc:a43569be4a403f390486148701b424e8a"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector subtraction (8 elements) <a href="#a43569be4a403f390486148701b424e8a">More...</a><br /></td></tr>
<tr class="separator:a43569be4a403f390486148701b424e8a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5b1437029acce06690a938e09f5a762a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5b1437029acce06690a938e09f5a762a">vqsub_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b)</td></tr>
-<tr class="memdesc:a5b1437029acce06690a938e09f5a762a"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector saturating subtraction (8 elements) <a href="#a5b1437029acce06690a938e09f5a762a">More...</a><br/></td></tr>
+<tr class="memdesc:a5b1437029acce06690a938e09f5a762a"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector saturating subtraction (8 elements) <a href="#a5b1437029acce06690a938e09f5a762a">More...</a><br /></td></tr>
<tr class="separator:a5b1437029acce06690a938e09f5a762a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a73a131b9775ce771a1a25607a83b0ca9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a73a131b9775ce771a1a25607a83b0ca9">vqsub_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b)</td></tr>
-<tr class="memdesc:a73a131b9775ce771a1a25607a83b0ca9"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector saturating subtraction (4 elements) <a href="#a73a131b9775ce771a1a25607a83b0ca9">More...</a><br/></td></tr>
+<tr class="memdesc:a73a131b9775ce771a1a25607a83b0ca9"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector saturating subtraction (4 elements) <a href="#a73a131b9775ce771a1a25607a83b0ca9">More...</a><br /></td></tr>
<tr class="separator:a73a131b9775ce771a1a25607a83b0ca9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab2a6ce3d8239e49c81af1ebc617680b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab2a6ce3d8239e49c81af1ebc617680b4">vqsubq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b)</td></tr>
-<tr class="memdesc:ab2a6ce3d8239e49c81af1ebc617680b4"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector saturating subtraction (16 elements) <a href="#ab2a6ce3d8239e49c81af1ebc617680b4">More...</a><br/></td></tr>
+<tr class="memdesc:ab2a6ce3d8239e49c81af1ebc617680b4"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector saturating subtraction (16 elements) <a href="#ab2a6ce3d8239e49c81af1ebc617680b4">More...</a><br /></td></tr>
<tr class="separator:ab2a6ce3d8239e49c81af1ebc617680b4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9edb31327a1e06c730d5a09b14dcfeb9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">vqsubq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b)</td></tr>
-<tr class="memdesc:a9edb31327a1e06c730d5a09b14dcfeb9"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector saturating subtraction (8 elements) <a href="#a9edb31327a1e06c730d5a09b14dcfeb9">More...</a><br/></td></tr>
+<tr class="memdesc:a9edb31327a1e06c730d5a09b14dcfeb9"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector saturating subtraction (8 elements) <a href="#a9edb31327a1e06c730d5a09b14dcfeb9">More...</a><br /></td></tr>
<tr class="separator:a9edb31327a1e06c730d5a09b14dcfeb9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:afccf1305c480f2338af8925bba6b54cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:afccf1305c480f2338af8925bba6b54cd"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector multiply (8 elements) <a href="#afccf1305c480f2338af8925bba6b54cd">More...</a><br/></td></tr>
+<tr class="memdesc:afccf1305c480f2338af8925bba6b54cd"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector multiply (8 elements) <a href="#afccf1305c480f2338af8925bba6b54cd">More...</a><br /></td></tr>
<tr class="separator:afccf1305c480f2338af8925bba6b54cd"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac1b67e3283a1cae4d57b7f64137f5f5c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:ac1b67e3283a1cae4d57b7f64137f5f5c"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector multiply (4 elements) <a href="#ac1b67e3283a1cae4d57b7f64137f5f5c">More...</a><br/></td></tr>
+<tr class="memdesc:ac1b67e3283a1cae4d57b7f64137f5f5c"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector multiply (4 elements) <a href="#ac1b67e3283a1cae4d57b7f64137f5f5c">More...</a><br /></td></tr>
<tr class="separator:ac1b67e3283a1cae4d57b7f64137f5f5c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a031b17d4102856aa4d6bf7ebf83bf0ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a031b17d4102856aa4d6bf7ebf83bf0ab"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector multiply (16 elements) <a href="#a031b17d4102856aa4d6bf7ebf83bf0ab">More...</a><br/></td></tr>
+<tr class="memdesc:a031b17d4102856aa4d6bf7ebf83bf0ab"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector multiply (16 elements) <a href="#a031b17d4102856aa4d6bf7ebf83bf0ab">More...</a><br /></td></tr>
<tr class="separator:a031b17d4102856aa4d6bf7ebf83bf0ab"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a74ea79cda0ff6a819b2e5176fe0fc622"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a74ea79cda0ff6a819b2e5176fe0fc622"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector multiply (8 elements) <a href="#a74ea79cda0ff6a819b2e5176fe0fc622">More...</a><br/></td></tr>
+<tr class="memdesc:a74ea79cda0ff6a819b2e5176fe0fc622"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector multiply (8 elements) <a href="#a74ea79cda0ff6a819b2e5176fe0fc622">More...</a><br /></td></tr>
<tr class="separator:a74ea79cda0ff6a819b2e5176fe0fc622"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a746205173d1a1f3955fa0c26b5be3b10"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a746205173d1a1f3955fa0c26b5be3b10"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector saturating multiply (8 elements) <a href="#a746205173d1a1f3955fa0c26b5be3b10">More...</a><br/></td></tr>
+<tr class="memdesc:a746205173d1a1f3955fa0c26b5be3b10"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector saturating multiply (8 elements) <a href="#a746205173d1a1f3955fa0c26b5be3b10">More...</a><br /></td></tr>
<tr class="separator:a746205173d1a1f3955fa0c26b5be3b10"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aec34399f16d824f79571abe464556466"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:aec34399f16d824f79571abe464556466"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector saturating multiply (4 elements) <a href="#aec34399f16d824f79571abe464556466">More...</a><br/></td></tr>
+<tr class="memdesc:aec34399f16d824f79571abe464556466"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector saturating multiply (4 elements) <a href="#aec34399f16d824f79571abe464556466">More...</a><br /></td></tr>
<tr class="separator:aec34399f16d824f79571abe464556466"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a081c0605c83155125ad95a144a1d6071"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a081c0605c83155125ad95a144a1d6071"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector saturating multiply (16 elements) <a href="#a081c0605c83155125ad95a144a1d6071">More...</a><br/></td></tr>
+<tr class="memdesc:a081c0605c83155125ad95a144a1d6071"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector saturating multiply (16 elements) <a href="#a081c0605c83155125ad95a144a1d6071">More...</a><br /></td></tr>
<tr class="separator:a081c0605c83155125ad95a144a1d6071"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a982d792d366430a954d96e8575d3c313"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a982d792d366430a954d96e8575d3c313"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector saturating multiply (8 elements) <a href="#a982d792d366430a954d96e8575d3c313">More...</a><br/></td></tr>
+<tr class="memdesc:a982d792d366430a954d96e8575d3c313"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector saturating multiply (8 elements) <a href="#a982d792d366430a954d96e8575d3c313">More...</a><br /></td></tr>
<tr class="separator:a982d792d366430a954d96e8575d3c313"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3e959a9add1078033f3a27725323df13"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3e959a9add1078033f3a27725323df13">vmull_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a3e959a9add1078033f3a27725323df13"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector long multiply (8 elements) <a href="#a3e959a9add1078033f3a27725323df13">More...</a><br/></td></tr>
+<tr class="memdesc:a3e959a9add1078033f3a27725323df13"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector long multiply (8 elements) <a href="#a3e959a9add1078033f3a27725323df13">More...</a><br /></td></tr>
<tr class="separator:a3e959a9add1078033f3a27725323df13"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:afce8b13d7a800aa8ac24733160130cfc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afce8b13d7a800aa8ac24733160130cfc">vmull_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:afce8b13d7a800aa8ac24733160130cfc"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector long multiply (4 elements) <a href="#afce8b13d7a800aa8ac24733160130cfc">More...</a><br/></td></tr>
+<tr class="memdesc:afce8b13d7a800aa8ac24733160130cfc"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector long multiply (4 elements) <a href="#afce8b13d7a800aa8ac24733160130cfc">More...</a><br /></td></tr>
<tr class="separator:afce8b13d7a800aa8ac24733160130cfc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a26fd8532b87adbcf27214504c38918e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a26fd8532b87adbcf27214504c38918e4">vmla_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> c, int fixed_point_position)</td></tr>
-<tr class="memdesc:a26fd8532b87adbcf27214504c38918e4"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector multiply-accumulate (8 elements). <a href="#a26fd8532b87adbcf27214504c38918e4">More...</a><br/></td></tr>
+<tr class="memdesc:a26fd8532b87adbcf27214504c38918e4"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector multiply-accumulate (8 elements). <a href="#a26fd8532b87adbcf27214504c38918e4">More...</a><br /></td></tr>
<tr class="separator:a26fd8532b87adbcf27214504c38918e4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a274a6a8a684dd31dbd2a1ebef37b38db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a274a6a8a684dd31dbd2a1ebef37b38db">vmla_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> c, int fixed_point_position)</td></tr>
-<tr class="memdesc:a274a6a8a684dd31dbd2a1ebef37b38db"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector multiply-accumulate (4 elements). <a href="#a274a6a8a684dd31dbd2a1ebef37b38db">More...</a><br/></td></tr>
+<tr class="memdesc:a274a6a8a684dd31dbd2a1ebef37b38db"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector multiply-accumulate (4 elements). <a href="#a274a6a8a684dd31dbd2a1ebef37b38db">More...</a><br /></td></tr>
<tr class="separator:a274a6a8a684dd31dbd2a1ebef37b38db"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aca905840b37a91fff71e163aa619904c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aca905840b37a91fff71e163aa619904c">vmlaq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> c, int fixed_point_position)</td></tr>
-<tr class="memdesc:aca905840b37a91fff71e163aa619904c"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector multiply-accumulate (16 elements). <a href="#aca905840b37a91fff71e163aa619904c">More...</a><br/></td></tr>
+<tr class="memdesc:aca905840b37a91fff71e163aa619904c"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector multiply-accumulate (16 elements). <a href="#aca905840b37a91fff71e163aa619904c">More...</a><br /></td></tr>
<tr class="separator:aca905840b37a91fff71e163aa619904c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:afac88503bedaf0d617729062991518d7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afac88503bedaf0d617729062991518d7">vmlaq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> c, int fixed_point_position)</td></tr>
-<tr class="memdesc:afac88503bedaf0d617729062991518d7"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector multiply-accumulate (16 elements). <a href="#afac88503bedaf0d617729062991518d7">More...</a><br/></td></tr>
+<tr class="memdesc:afac88503bedaf0d617729062991518d7"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector multiply-accumulate (16 elements). <a href="#afac88503bedaf0d617729062991518d7">More...</a><br /></td></tr>
<tr class="separator:afac88503bedaf0d617729062991518d7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac6cb55578e8ff1f3c20aa50f2e728679"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac6cb55578e8ff1f3c20aa50f2e728679">vqmla_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> c, int fixed_point_position)</td></tr>
-<tr class="memdesc:ac6cb55578e8ff1f3c20aa50f2e728679"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector saturating multiply-accumulate (8 elements). <a href="#ac6cb55578e8ff1f3c20aa50f2e728679">More...</a><br/></td></tr>
+<tr class="memdesc:ac6cb55578e8ff1f3c20aa50f2e728679"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector saturating multiply-accumulate (8 elements). <a href="#ac6cb55578e8ff1f3c20aa50f2e728679">More...</a><br /></td></tr>
<tr class="separator:ac6cb55578e8ff1f3c20aa50f2e728679"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa761736badde8e65c51952cc613be3b9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa761736badde8e65c51952cc613be3b9">vqmla_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> c, int fixed_point_position)</td></tr>
-<tr class="memdesc:aa761736badde8e65c51952cc613be3b9"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector saturating multiply-accumulate (4 elements). <a href="#aa761736badde8e65c51952cc613be3b9">More...</a><br/></td></tr>
+<tr class="memdesc:aa761736badde8e65c51952cc613be3b9"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector saturating multiply-accumulate (4 elements). <a href="#aa761736badde8e65c51952cc613be3b9">More...</a><br /></td></tr>
<tr class="separator:aa761736badde8e65c51952cc613be3b9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a037ac8df4a7e30a455a97218b88b67ad"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a037ac8df4a7e30a455a97218b88b67ad">vqmlaq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> c, int fixed_point_position)</td></tr>
-<tr class="memdesc:a037ac8df4a7e30a455a97218b88b67ad"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector saturating multiply-accumulate (16 elements). <a href="#a037ac8df4a7e30a455a97218b88b67ad">More...</a><br/></td></tr>
+<tr class="memdesc:a037ac8df4a7e30a455a97218b88b67ad"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector saturating multiply-accumulate (16 elements). <a href="#a037ac8df4a7e30a455a97218b88b67ad">More...</a><br /></td></tr>
<tr class="separator:a037ac8df4a7e30a455a97218b88b67ad"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aed829745c42ecd74cfff15bc92936ba5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aed829745c42ecd74cfff15bc92936ba5">vqmlaq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> c, int fixed_point_position)</td></tr>
-<tr class="memdesc:aed829745c42ecd74cfff15bc92936ba5"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector saturating multiply-accumulate (8 elements). <a href="#aed829745c42ecd74cfff15bc92936ba5">More...</a><br/></td></tr>
+<tr class="memdesc:aed829745c42ecd74cfff15bc92936ba5"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector saturating multiply-accumulate (8 elements). <a href="#aed829745c42ecd74cfff15bc92936ba5">More...</a><br /></td></tr>
<tr class="separator:aed829745c42ecd74cfff15bc92936ba5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a13873b51e98dcb41229ccf911e671693"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a13873b51e98dcb41229ccf911e671693">vmlal_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> c, int fixed_point_position)</td></tr>
-<tr class="memdesc:a13873b51e98dcb41229ccf911e671693"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector multiply-accumulate long (8 elements). <a href="#a13873b51e98dcb41229ccf911e671693">More...</a><br/></td></tr>
+<tr class="memdesc:a13873b51e98dcb41229ccf911e671693"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector multiply-accumulate long (8 elements). <a href="#a13873b51e98dcb41229ccf911e671693">More...</a><br /></td></tr>
<tr class="separator:a13873b51e98dcb41229ccf911e671693"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae236b9df08e568bb4b1dcc89896cff7e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae236b9df08e568bb4b1dcc89896cff7e">vmlal_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> c, int fixed_point_position)</td></tr>
-<tr class="memdesc:ae236b9df08e568bb4b1dcc89896cff7e"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector multiply-accumulate long (4 elements). <a href="#ae236b9df08e568bb4b1dcc89896cff7e">More...</a><br/></td></tr>
+<tr class="memdesc:ae236b9df08e568bb4b1dcc89896cff7e"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector multiply-accumulate long (4 elements). <a href="#ae236b9df08e568bb4b1dcc89896cff7e">More...</a><br /></td></tr>
<tr class="separator:ae236b9df08e568bb4b1dcc89896cff7e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aedfa26202753ca9db96ae3bcb51b14b0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aedfa26202753ca9db96ae3bcb51b14b0">vqmlal_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> c, int fixed_point_position)</td></tr>
-<tr class="memdesc:aedfa26202753ca9db96ae3bcb51b14b0"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector saturating multiply-accumulate long (8 elements). <a href="#aedfa26202753ca9db96ae3bcb51b14b0">More...</a><br/></td></tr>
+<tr class="memdesc:aedfa26202753ca9db96ae3bcb51b14b0"><td class="mdescLeft"> </td><td class="mdescRight">8 bit fixed point vector saturating multiply-accumulate long (8 elements). <a href="#aedfa26202753ca9db96ae3bcb51b14b0">More...</a><br /></td></tr>
<tr class="separator:aedfa26202753ca9db96ae3bcb51b14b0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a71633dedee7ccca61420733d9fd24fae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a71633dedee7ccca61420733d9fd24fae">vqmlal_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> c, int fixed_point_position)</td></tr>
-<tr class="memdesc:a71633dedee7ccca61420733d9fd24fae"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector saturating multiply-accumulate long (4 elements). <a href="#a71633dedee7ccca61420733d9fd24fae">More...</a><br/></td></tr>
+<tr class="memdesc:a71633dedee7ccca61420733d9fd24fae"><td class="mdescLeft"> </td><td class="mdescRight">16 bit fixed point vector saturating multiply-accumulate long (4 elements). <a href="#a71633dedee7ccca61420733d9fd24fae">More...</a><br /></td></tr>
<tr class="separator:a71633dedee7ccca61420733d9fd24fae"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a371a36182341de1fa885d16e8780302f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a371a36182341de1fa885d16e8780302f">vqcvt_qs8_f32</a> (const float32x4x2_t a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a371a36182341de1fa885d16e8780302f"><td class="mdescLeft"> </td><td class="mdescRight">Convert a float vector with 4x2 elements to 8 bit fixed point vector with 8 elements. <a href="#a371a36182341de1fa885d16e8780302f">More...</a><br/></td></tr>
+<tr class="memdesc:a371a36182341de1fa885d16e8780302f"><td class="mdescLeft"> </td><td class="mdescRight">Convert a float vector with 4x2 elements to 8 bit fixed point vector with 8 elements. <a href="#a371a36182341de1fa885d16e8780302f">More...</a><br /></td></tr>
<tr class="separator:a371a36182341de1fa885d16e8780302f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:afbaee7c07c41b0138ee0f3aefecc6160"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afbaee7c07c41b0138ee0f3aefecc6160">vqcvt_qs16_f32</a> (const float32x4_t a, int fixed_point_position)</td></tr>
-<tr class="memdesc:afbaee7c07c41b0138ee0f3aefecc6160"><td class="mdescLeft"> </td><td class="mdescRight">Convert a float vector with 4 elements to 16 bit fixed point vector with 4 elements. <a href="#afbaee7c07c41b0138ee0f3aefecc6160">More...</a><br/></td></tr>
+<tr class="memdesc:afbaee7c07c41b0138ee0f3aefecc6160"><td class="mdescLeft"> </td><td class="mdescRight">Convert a float vector with 4 elements to 16 bit fixed point vector with 4 elements. <a href="#afbaee7c07c41b0138ee0f3aefecc6160">More...</a><br /></td></tr>
<tr class="separator:afbaee7c07c41b0138ee0f3aefecc6160"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad7eb7d308bb87e94eb693bc13eda5adc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad7eb7d308bb87e94eb693bc13eda5adc">vqcvtq_qs8_f32</a> (const float32x4x4_t &a, int fixed_point_position)</td></tr>
-<tr class="memdesc:ad7eb7d308bb87e94eb693bc13eda5adc"><td class="mdescLeft"> </td><td class="mdescRight">Convert a float vector with 4x4 elements to 8 bit fixed point vector with 16 elements. <a href="#ad7eb7d308bb87e94eb693bc13eda5adc">More...</a><br/></td></tr>
+<tr class="memdesc:ad7eb7d308bb87e94eb693bc13eda5adc"><td class="mdescLeft"> </td><td class="mdescRight">Convert a float vector with 4x4 elements to 8 bit fixed point vector with 16 elements. <a href="#ad7eb7d308bb87e94eb693bc13eda5adc">More...</a><br /></td></tr>
<tr class="separator:ad7eb7d308bb87e94eb693bc13eda5adc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:afe99b690ec0046061f66f699fa055b47"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afe99b690ec0046061f66f699fa055b47">vqcvtq_qs16_f32</a> (const float32x4x2_t &a, int fixed_point_position)</td></tr>
-<tr class="memdesc:afe99b690ec0046061f66f699fa055b47"><td class="mdescLeft"> </td><td class="mdescRight">Convert a float vector with 4x2 elements to 16 bit fixed point vector with 8 elements. <a href="#afe99b690ec0046061f66f699fa055b47">More...</a><br/></td></tr>
+<tr class="memdesc:afe99b690ec0046061f66f699fa055b47"><td class="mdescLeft"> </td><td class="mdescRight">Convert a float vector with 4x2 elements to 16 bit fixed point vector with 8 elements. <a href="#afe99b690ec0046061f66f699fa055b47">More...</a><br /></td></tr>
<tr class="separator:afe99b690ec0046061f66f699fa055b47"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a14a78befffd5c48b43554fdc28d654ff"><td class="memItemLeft" align="right" valign="top">float32x4x2_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a14a78befffd5c48b43554fdc28d654ff">vcvt_f32_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a14a78befffd5c48b43554fdc28d654ff"><td class="mdescLeft"> </td><td class="mdescRight">Convert a 8 bit fixed point vector with 8 elements to a float vector with 4x2 elements. <a href="#a14a78befffd5c48b43554fdc28d654ff">More...</a><br/></td></tr>
+<tr class="memdesc:a14a78befffd5c48b43554fdc28d654ff"><td class="mdescLeft"> </td><td class="mdescRight">Convert a 8 bit fixed point vector with 8 elements to a float vector with 4x2 elements. <a href="#a14a78befffd5c48b43554fdc28d654ff">More...</a><br /></td></tr>
<tr class="separator:a14a78befffd5c48b43554fdc28d654ff"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a771203a3bf0d0df11dbf90f492525656"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a771203a3bf0d0df11dbf90f492525656">vcvt_f32_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a771203a3bf0d0df11dbf90f492525656"><td class="mdescLeft"> </td><td class="mdescRight">Convert a 16 bit fixed point vector with 4 elements to a float vector with 4 elements. <a href="#a771203a3bf0d0df11dbf90f492525656">More...</a><br/></td></tr>
+<tr class="memdesc:a771203a3bf0d0df11dbf90f492525656"><td class="mdescLeft"> </td><td class="mdescRight">Convert a 16 bit fixed point vector with 4 elements to a float vector with 4 elements. <a href="#a771203a3bf0d0df11dbf90f492525656">More...</a><br /></td></tr>
<tr class="separator:a771203a3bf0d0df11dbf90f492525656"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a19e68f6a298ae587a491df52d6859350"><td class="memItemLeft" align="right" valign="top">float32x4x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a19e68f6a298ae587a491df52d6859350">vcvtq_qs8_f32</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a19e68f6a298ae587a491df52d6859350"><td class="mdescLeft"> </td><td class="mdescRight">Convert a 8 bit fixed point vector with 16 elements to a float vector with 4x4 elements. <a href="#a19e68f6a298ae587a491df52d6859350">More...</a><br/></td></tr>
+<tr class="memdesc:a19e68f6a298ae587a491df52d6859350"><td class="mdescLeft"> </td><td class="mdescRight">Convert a 8 bit fixed point vector with 16 elements to a float vector with 4x4 elements. <a href="#a19e68f6a298ae587a491df52d6859350">More...</a><br /></td></tr>
<tr class="separator:a19e68f6a298ae587a491df52d6859350"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a943abeff66faa34d1c2aeeab4ebfabdf"><td class="memItemLeft" align="right" valign="top">float32x4x2_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a943abeff66faa34d1c2aeeab4ebfabdf">vcvtq_qs16_f32</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a943abeff66faa34d1c2aeeab4ebfabdf"><td class="mdescLeft"> </td><td class="mdescRight">Convert a 16 bit fixed point vector with 8 elements to a float vector with 4x2 elements. <a href="#a943abeff66faa34d1c2aeeab4ebfabdf">More...</a><br/></td></tr>
+<tr class="memdesc:a943abeff66faa34d1c2aeeab4ebfabdf"><td class="mdescLeft"> </td><td class="mdescRight">Convert a 16 bit fixed point vector with 8 elements to a float vector with 4x2 elements. <a href="#a943abeff66faa34d1c2aeeab4ebfabdf">More...</a><br /></td></tr>
<tr class="separator:a943abeff66faa34d1c2aeeab4ebfabdf"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa24b270b0193ad8983dfecd6105c4936"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa24b270b0193ad8983dfecd6105c4936">vrecip_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:aa24b270b0193ad8983dfecd6105c4936"><td class="mdescLeft"> </td><td class="mdescRight">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. <a href="#aa24b270b0193ad8983dfecd6105c4936">More...</a><br/></td></tr>
+<tr class="memdesc:aa24b270b0193ad8983dfecd6105c4936"><td class="mdescLeft"> </td><td class="mdescRight">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. <a href="#aa24b270b0193ad8983dfecd6105c4936">More...</a><br /></td></tr>
<tr class="separator:aa24b270b0193ad8983dfecd6105c4936"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8e14017f1276f4a4e14078d93ed692bd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8e14017f1276f4a4e14078d93ed692bd">vrecip_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a8e14017f1276f4a4e14078d93ed692bd"><td class="mdescLeft"> </td><td class="mdescRight">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. <a href="#a8e14017f1276f4a4e14078d93ed692bd">More...</a><br/></td></tr>
+<tr class="memdesc:a8e14017f1276f4a4e14078d93ed692bd"><td class="mdescLeft"> </td><td class="mdescRight">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. <a href="#a8e14017f1276f4a4e14078d93ed692bd">More...</a><br /></td></tr>
<tr class="separator:a8e14017f1276f4a4e14078d93ed692bd"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abbeb1dc4834fb4e97cf94d702d0e0f91"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abbeb1dc4834fb4e97cf94d702d0e0f91">vrecipq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:abbeb1dc4834fb4e97cf94d702d0e0f91"><td class="mdescLeft"> </td><td class="mdescRight">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. <a href="#abbeb1dc4834fb4e97cf94d702d0e0f91">More...</a><br/></td></tr>
+<tr class="memdesc:abbeb1dc4834fb4e97cf94d702d0e0f91"><td class="mdescLeft"> </td><td class="mdescRight">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. <a href="#abbeb1dc4834fb4e97cf94d702d0e0f91">More...</a><br /></td></tr>
<tr class="separator:abbeb1dc4834fb4e97cf94d702d0e0f91"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aea1b943c0452ea124c9f8ac0d1315bed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aea1b943c0452ea124c9f8ac0d1315bed">vrecipq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:aea1b943c0452ea124c9f8ac0d1315bed"><td class="mdescLeft"> </td><td class="mdescRight">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. <a href="#aea1b943c0452ea124c9f8ac0d1315bed">More...</a><br/></td></tr>
+<tr class="memdesc:aea1b943c0452ea124c9f8ac0d1315bed"><td class="mdescLeft"> </td><td class="mdescRight">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. <a href="#aea1b943c0452ea124c9f8ac0d1315bed">More...</a><br /></td></tr>
<tr class="separator:aea1b943c0452ea124c9f8ac0d1315bed"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aeab4c6963804a85c9ea6c319f4e95a0b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aeab4c6963804a85c9ea6c319f4e95a0b">vdiv_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int8x8_t b, int fixed_point_position)</td></tr>
-<tr class="memdesc:aeab4c6963804a85c9ea6c319f4e95a0b"><td class="mdescLeft"> </td><td class="mdescRight">Division fixed point 8bit (8 elements) <a href="#aeab4c6963804a85c9ea6c319f4e95a0b">More...</a><br/></td></tr>
+<tr class="memdesc:aeab4c6963804a85c9ea6c319f4e95a0b"><td class="mdescLeft"> </td><td class="mdescRight">Division fixed point 8bit (8 elements) <a href="#aeab4c6963804a85c9ea6c319f4e95a0b">More...</a><br /></td></tr>
<tr class="separator:aeab4c6963804a85c9ea6c319f4e95a0b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa65479f6532283c215e398735d0b3c22"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa65479f6532283c215e398735d0b3c22">vdiv_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:aa65479f6532283c215e398735d0b3c22"><td class="mdescLeft"> </td><td class="mdescRight">Division fixed point 16 bit (4 elements) <a href="#aa65479f6532283c215e398735d0b3c22">More...</a><br/></td></tr>
+<tr class="memdesc:aa65479f6532283c215e398735d0b3c22"><td class="mdescLeft"> </td><td class="mdescRight">Division fixed point 16 bit (4 elements) <a href="#aa65479f6532283c215e398735d0b3c22">More...</a><br /></td></tr>
<tr class="separator:aa65479f6532283c215e398735d0b3c22"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae589b6f4ada9d9cb81f70897d7991cd1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae589b6f4ada9d9cb81f70897d7991cd1">vdivq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:ae589b6f4ada9d9cb81f70897d7991cd1"><td class="mdescLeft"> </td><td class="mdescRight">Division fixed point 8bit (16 elements) <a href="#ae589b6f4ada9d9cb81f70897d7991cd1">More...</a><br/></td></tr>
+<tr class="memdesc:ae589b6f4ada9d9cb81f70897d7991cd1"><td class="mdescLeft"> </td><td class="mdescRight">Division fixed point 8bit (16 elements) <a href="#ae589b6f4ada9d9cb81f70897d7991cd1">More...</a><br /></td></tr>
<tr class="separator:ae589b6f4ada9d9cb81f70897d7991cd1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2c21a21a9004609887c0a6f5304faa2a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2c21a21a9004609887c0a6f5304faa2a">vdivq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:a2c21a21a9004609887c0a6f5304faa2a"><td class="mdescLeft"> </td><td class="mdescRight">Division fixed point 16 bit (8 elements) <a href="#a2c21a21a9004609887c0a6f5304faa2a">More...</a><br/></td></tr>
+<tr class="memdesc:a2c21a21a9004609887c0a6f5304faa2a"><td class="mdescLeft"> </td><td class="mdescRight">Division fixed point 16 bit (8 elements) <a href="#a2c21a21a9004609887c0a6f5304faa2a">More...</a><br /></td></tr>
<tr class="separator:a2c21a21a9004609887c0a6f5304faa2a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a91b74be928419cd95068ccc9c6f1cd83"><td class="memTemplParams" colspan="2">template<bool islog> </td></tr>
<tr class="memitem:a91b74be928419cd95068ccc9c6f1cd83"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a91b74be928419cd95068ccc9c6f1cd83">vtaylor_poly_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a91b74be928419cd95068ccc9c6f1cd83"><td class="mdescLeft"> </td><td class="mdescRight">Perform a 4th degree polynomial approximation. <a href="#a91b74be928419cd95068ccc9c6f1cd83">More...</a><br/></td></tr>
+<tr class="memdesc:a91b74be928419cd95068ccc9c6f1cd83"><td class="mdescLeft"> </td><td class="mdescRight">Perform a 4th degree polynomial approximation. <a href="#a91b74be928419cd95068ccc9c6f1cd83">More...</a><br /></td></tr>
<tr class="separator:a91b74be928419cd95068ccc9c6f1cd83"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab6470f57e0d7659ea7823f13bb89724f"><td class="memTemplParams" colspan="2">template<bool islog> </td></tr>
<tr class="memitem:ab6470f57e0d7659ea7823f13bb89724f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab6470f57e0d7659ea7823f13bb89724f">vtaylor_poly_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:ab6470f57e0d7659ea7823f13bb89724f"><td class="mdescLeft"> </td><td class="mdescRight">Perform a 4th degree polynomial approximation. <a href="#ab6470f57e0d7659ea7823f13bb89724f">More...</a><br/></td></tr>
+<tr class="memdesc:ab6470f57e0d7659ea7823f13bb89724f"><td class="mdescLeft"> </td><td class="mdescRight">Perform a 4th degree polynomial approximation. <a href="#ab6470f57e0d7659ea7823f13bb89724f">More...</a><br /></td></tr>
<tr class="separator:ab6470f57e0d7659ea7823f13bb89724f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9b9a80aab8862e344ef91591a0e6e199"><td class="memTemplParams" colspan="2">template<bool islog> </td></tr>
<tr class="memitem:a9b9a80aab8862e344ef91591a0e6e199"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9b9a80aab8862e344ef91591a0e6e199">vtaylor_polyq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a9b9a80aab8862e344ef91591a0e6e199"><td class="mdescLeft"> </td><td class="mdescRight">Perform a 4th degree polynomial approximation. <a href="#a9b9a80aab8862e344ef91591a0e6e199">More...</a><br/></td></tr>
+<tr class="memdesc:a9b9a80aab8862e344ef91591a0e6e199"><td class="mdescLeft"> </td><td class="mdescRight">Perform a 4th degree polynomial approximation. <a href="#a9b9a80aab8862e344ef91591a0e6e199">More...</a><br /></td></tr>
<tr class="separator:a9b9a80aab8862e344ef91591a0e6e199"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac26478d3b59cae5c3efa4bf3819002fa"><td class="memTemplParams" colspan="2">template<bool islog> </td></tr>
<tr class="memitem:ac26478d3b59cae5c3efa4bf3819002fa"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac26478d3b59cae5c3efa4bf3819002fa">vtaylor_polyq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:ac26478d3b59cae5c3efa4bf3819002fa"><td class="mdescLeft"> </td><td class="mdescRight">Perform a 4th degree polynomial approximation. <a href="#ac26478d3b59cae5c3efa4bf3819002fa">More...</a><br/></td></tr>
+<tr class="memdesc:ac26478d3b59cae5c3efa4bf3819002fa"><td class="mdescLeft"> </td><td class="mdescRight">Perform a 4th degree polynomial approximation. <a href="#ac26478d3b59cae5c3efa4bf3819002fa">More...</a><br /></td></tr>
<tr class="separator:ac26478d3b59cae5c3efa4bf3819002fa"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a635b41196d74b1f2c4d9ee9298444796"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a635b41196d74b1f2c4d9ee9298444796">vqexp_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a635b41196d74b1f2c4d9ee9298444796"><td class="mdescLeft"> </td><td class="mdescRight">Calculate saturating exponential fixed point 8bit (8 elements) <a href="#a635b41196d74b1f2c4d9ee9298444796">More...</a><br/></td></tr>
+<tr class="memdesc:a635b41196d74b1f2c4d9ee9298444796"><td class="mdescLeft"> </td><td class="mdescRight">Calculate saturating exponential fixed point 8bit (8 elements) <a href="#a635b41196d74b1f2c4d9ee9298444796">More...</a><br /></td></tr>
<tr class="separator:a635b41196d74b1f2c4d9ee9298444796"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa3c9489e850081532442f4da59515852"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa3c9489e850081532442f4da59515852">vqexp_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:aa3c9489e850081532442f4da59515852"><td class="mdescLeft"> </td><td class="mdescRight">Calculate saturating exponential fixed point 16 bit (4 elements) <a href="#aa3c9489e850081532442f4da59515852">More...</a><br/></td></tr>
+<tr class="memdesc:aa3c9489e850081532442f4da59515852"><td class="mdescLeft"> </td><td class="mdescRight">Calculate saturating exponential fixed point 16 bit (4 elements) <a href="#aa3c9489e850081532442f4da59515852">More...</a><br /></td></tr>
<tr class="separator:aa3c9489e850081532442f4da59515852"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae6cf1822b8fbad305677650a2b751247"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae6cf1822b8fbad305677650a2b751247">vqexpq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:ae6cf1822b8fbad305677650a2b751247"><td class="mdescLeft"> </td><td class="mdescRight">Calculate saturating exponential fixed point 8bit (16 elements) <a href="#ae6cf1822b8fbad305677650a2b751247">More...</a><br/></td></tr>
+<tr class="memdesc:ae6cf1822b8fbad305677650a2b751247"><td class="mdescLeft"> </td><td class="mdescRight">Calculate saturating exponential fixed point 8bit (16 elements) <a href="#ae6cf1822b8fbad305677650a2b751247">More...</a><br /></td></tr>
<tr class="separator:ae6cf1822b8fbad305677650a2b751247"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5b5e085002cf5a69fb80e6991d0a4556"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5b5e085002cf5a69fb80e6991d0a4556">vqexpq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a5b5e085002cf5a69fb80e6991d0a4556"><td class="mdescLeft"> </td><td class="mdescRight">Calculate saturating exponential fixed point 16 bit (8 elements) <a href="#a5b5e085002cf5a69fb80e6991d0a4556">More...</a><br/></td></tr>
+<tr class="memdesc:a5b5e085002cf5a69fb80e6991d0a4556"><td class="mdescLeft"> </td><td class="mdescRight">Calculate saturating exponential fixed point 16 bit (8 elements) <a href="#a5b5e085002cf5a69fb80e6991d0a4556">More...</a><br /></td></tr>
<tr class="separator:a5b5e085002cf5a69fb80e6991d0a4556"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a475d617b2ee92ec39588e6d6e488471a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a475d617b2ee92ec39588e6d6e488471a">vlog_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a475d617b2ee92ec39588e6d6e488471a"><td class="mdescLeft"> </td><td class="mdescRight">Calculate logarithm fixed point 8 bit (8 elements) <a href="#a475d617b2ee92ec39588e6d6e488471a">More...</a><br/></td></tr>
+<tr class="memdesc:a475d617b2ee92ec39588e6d6e488471a"><td class="mdescLeft"> </td><td class="mdescRight">Calculate logarithm fixed point 8 bit (8 elements) <a href="#a475d617b2ee92ec39588e6d6e488471a">More...</a><br /></td></tr>
<tr class="separator:a475d617b2ee92ec39588e6d6e488471a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad9e26d94cb0b929e30b88400cd5c60d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad9e26d94cb0b929e30b88400cd5c60d2">vlog_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:ad9e26d94cb0b929e30b88400cd5c60d2"><td class="mdescLeft"> </td><td class="mdescRight">Calculate logarithm fixed point 16 bit (4 elements) <a href="#ad9e26d94cb0b929e30b88400cd5c60d2">More...</a><br/></td></tr>
+<tr class="memdesc:ad9e26d94cb0b929e30b88400cd5c60d2"><td class="mdescLeft"> </td><td class="mdescRight">Calculate logarithm fixed point 16 bit (4 elements) <a href="#ad9e26d94cb0b929e30b88400cd5c60d2">More...</a><br /></td></tr>
<tr class="separator:ad9e26d94cb0b929e30b88400cd5c60d2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a340b9cd5ad88f1a821498c6fad80e82c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a340b9cd5ad88f1a821498c6fad80e82c">vlogq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a340b9cd5ad88f1a821498c6fad80e82c"><td class="mdescLeft"> </td><td class="mdescRight">Calculate logarithm fixed point 16bit (16 elements) <a href="#a340b9cd5ad88f1a821498c6fad80e82c">More...</a><br/></td></tr>
+<tr class="memdesc:a340b9cd5ad88f1a821498c6fad80e82c"><td class="mdescLeft"> </td><td class="mdescRight">Calculate logarithm fixed point 16bit (16 elements) <a href="#a340b9cd5ad88f1a821498c6fad80e82c">More...</a><br /></td></tr>
<tr class="separator:a340b9cd5ad88f1a821498c6fad80e82c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a756ac701185cfc4924443db164fd65ae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a756ac701185cfc4924443db164fd65ae">vlogq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a756ac701185cfc4924443db164fd65ae"><td class="mdescLeft"> </td><td class="mdescRight">Calculate logarithm fixed point 16 bit (8 elements) <a href="#a756ac701185cfc4924443db164fd65ae">More...</a><br/></td></tr>
+<tr class="memdesc:a756ac701185cfc4924443db164fd65ae"><td class="mdescLeft"> </td><td class="mdescRight">Calculate logarithm fixed point 16 bit (8 elements) <a href="#a756ac701185cfc4924443db164fd65ae">More...</a><br /></td></tr>
<tr class="separator:a756ac701185cfc4924443db164fd65ae"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab7fbbbe8d980de582a73b5546b303b1f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab7fbbbe8d980de582a73b5546b303b1f">vinvsqrt_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:ab7fbbbe8d980de582a73b5546b303b1f"><td class="mdescLeft"> </td><td class="mdescRight">Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) <a href="#ab7fbbbe8d980de582a73b5546b303b1f">More...</a><br/></td></tr>
+<tr class="memdesc:ab7fbbbe8d980de582a73b5546b303b1f"><td class="mdescLeft"> </td><td class="mdescRight">Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) <a href="#ab7fbbbe8d980de582a73b5546b303b1f">More...</a><br /></td></tr>
<tr class="separator:ab7fbbbe8d980de582a73b5546b303b1f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aed1eb26d2b6435ae9dba79558611b415"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aed1eb26d2b6435ae9dba79558611b415">vinvsqrt_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:aed1eb26d2b6435ae9dba79558611b415"><td class="mdescLeft"> </td><td class="mdescRight">Calculate inverse square root for fixed point 16 bit using Newton-Raphosn method (4 elements) <a href="#aed1eb26d2b6435ae9dba79558611b415">More...</a><br/></td></tr>
+<tr class="memdesc:aed1eb26d2b6435ae9dba79558611b415"><td class="mdescLeft"> </td><td class="mdescRight">Calculate inverse square root for fixed point 16 bit using Newton-Raphosn method (4 elements) <a href="#aed1eb26d2b6435ae9dba79558611b415">More...</a><br /></td></tr>
<tr class="separator:aed1eb26d2b6435ae9dba79558611b415"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5ddc3dc4b4ee6847fd96c6a8599e20e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5ddc3dc4b4ee6847fd96c6a8599e20e4">vqinvsqrt_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a5ddc3dc4b4ee6847fd96c6a8599e20e4"><td class="mdescLeft"> </td><td class="mdescRight">Calculate saturating inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) <a href="#a5ddc3dc4b4ee6847fd96c6a8599e20e4">More...</a><br/></td></tr>
+<tr class="memdesc:a5ddc3dc4b4ee6847fd96c6a8599e20e4"><td class="mdescLeft"> </td><td class="mdescRight">Calculate saturating inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) <a href="#a5ddc3dc4b4ee6847fd96c6a8599e20e4">More...</a><br /></td></tr>
<tr class="separator:a5ddc3dc4b4ee6847fd96c6a8599e20e4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a23041b440c544f24afd9b1e79a6d77df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a23041b440c544f24afd9b1e79a6d77df">vqinvsqrt_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a23041b440c544f24afd9b1e79a6d77df"><td class="mdescLeft"> </td><td class="mdescRight">Calculate saturating inverse square root for fixed point 16 bit using Newton-Raphosn method (4 elements) <a href="#a23041b440c544f24afd9b1e79a6d77df">More...</a><br/></td></tr>
+<tr class="memdesc:a23041b440c544f24afd9b1e79a6d77df"><td class="mdescLeft"> </td><td class="mdescRight">Calculate saturating inverse square root for fixed point 16 bit using Newton-Raphosn method (4 elements) <a href="#a23041b440c544f24afd9b1e79a6d77df">More...</a><br /></td></tr>
<tr class="separator:a23041b440c544f24afd9b1e79a6d77df"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4be9120d5c04e6aab0831095acd24534"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4be9120d5c04e6aab0831095acd24534">vinvsqrtq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a4be9120d5c04e6aab0831095acd24534"><td class="mdescLeft"> </td><td class="mdescRight">Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (16 elements) <a href="#a4be9120d5c04e6aab0831095acd24534">More...</a><br/></td></tr>
+<tr class="memdesc:a4be9120d5c04e6aab0831095acd24534"><td class="mdescLeft"> </td><td class="mdescRight">Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (16 elements) <a href="#a4be9120d5c04e6aab0831095acd24534">More...</a><br /></td></tr>
<tr class="separator:a4be9120d5c04e6aab0831095acd24534"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7ddffc87df07ac9782f4e498865c66d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7ddffc87df07ac9782f4e498865c66d4">vinvsqrtq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a7ddffc87df07ac9782f4e498865c66d4"><td class="mdescLeft"> </td><td class="mdescRight">Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) <a href="#a7ddffc87df07ac9782f4e498865c66d4">More...</a><br/></td></tr>
+<tr class="memdesc:a7ddffc87df07ac9782f4e498865c66d4"><td class="mdescLeft"> </td><td class="mdescRight">Calculate inverse square root for fixed point 8bit using Newton-Raphosn method (8 elements) <a href="#a7ddffc87df07ac9782f4e498865c66d4">More...</a><br /></td></tr>
<tr class="separator:a7ddffc87df07ac9782f4e498865c66d4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad5d5110467053814882fb616c6cb855b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad5d5110467053814882fb616c6cb855b">vqinvsqrtq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:ad5d5110467053814882fb616c6cb855b"><td class="mdescLeft"> </td><td class="mdescRight">Calculate saturating inverse square root for fixed point 8bit using Newton-Raphosn method (16 elements) <a href="#ad5d5110467053814882fb616c6cb855b">More...</a><br/></td></tr>
+<tr class="memdesc:ad5d5110467053814882fb616c6cb855b"><td class="mdescLeft"> </td><td class="mdescRight">Calculate saturating inverse square root for fixed point 8bit using Newton-Raphosn method (16 elements) <a href="#ad5d5110467053814882fb616c6cb855b">More...</a><br /></td></tr>
<tr class="separator:ad5d5110467053814882fb616c6cb855b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a74613d11a6b769ddcdd28d80fb8d74a8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a74613d11a6b769ddcdd28d80fb8d74a8">vqinvsqrtq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a74613d11a6b769ddcdd28d80fb8d74a8"><td class="mdescLeft"> </td><td class="mdescRight">Calculate saturating inverse square root for fixed point 16 bit using Newton-Raphosn method (8 elements) <a href="#a74613d11a6b769ddcdd28d80fb8d74a8">More...</a><br/></td></tr>
+<tr class="memdesc:a74613d11a6b769ddcdd28d80fb8d74a8"><td class="mdescLeft"> </td><td class="mdescRight">Calculate saturating inverse square root for fixed point 16 bit using Newton-Raphosn method (8 elements) <a href="#a74613d11a6b769ddcdd28d80fb8d74a8">More...</a><br /></td></tr>
<tr class="separator:a74613d11a6b769ddcdd28d80fb8d74a8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2b97d40b6d61e8453d755711fed30a38"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2b97d40b6d61e8453d755711fed30a38">vqtanh_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a2b97d40b6d61e8453d755711fed30a38"><td class="mdescLeft"> </td><td class="mdescRight">Calculate hyperbolic tangent for fixed point 8bit (8 elements) <a href="#a2b97d40b6d61e8453d755711fed30a38">More...</a><br/></td></tr>
+<tr class="memdesc:a2b97d40b6d61e8453d755711fed30a38"><td class="mdescLeft"> </td><td class="mdescRight">Calculate hyperbolic tangent for fixed point 8bit (8 elements) <a href="#a2b97d40b6d61e8453d755711fed30a38">More...</a><br /></td></tr>
<tr class="separator:a2b97d40b6d61e8453d755711fed30a38"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a81b5a6029b604d0a1daf4d4ac63a56c8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a81b5a6029b604d0a1daf4d4ac63a56c8">vqtanh_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a81b5a6029b604d0a1daf4d4ac63a56c8"><td class="mdescLeft"> </td><td class="mdescRight">Calculate hyperbolic tangent for fixed point 16 bit (4 elements) <a href="#a81b5a6029b604d0a1daf4d4ac63a56c8">More...</a><br/></td></tr>
+<tr class="memdesc:a81b5a6029b604d0a1daf4d4ac63a56c8"><td class="mdescLeft"> </td><td class="mdescRight">Calculate hyperbolic tangent for fixed point 16 bit (4 elements) <a href="#a81b5a6029b604d0a1daf4d4ac63a56c8">More...</a><br /></td></tr>
<tr class="separator:a81b5a6029b604d0a1daf4d4ac63a56c8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a81ea8bde4e35ce63e8e10708bae0caea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a81ea8bde4e35ce63e8e10708bae0caea">vqtanhq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:a81ea8bde4e35ce63e8e10708bae0caea"><td class="mdescLeft"> </td><td class="mdescRight">Calculate hyperbolic tangent for fixed point 8bit (16 elements) <a href="#a81ea8bde4e35ce63e8e10708bae0caea">More...</a><br/></td></tr>
+<tr class="memdesc:a81ea8bde4e35ce63e8e10708bae0caea"><td class="mdescLeft"> </td><td class="mdescRight">Calculate hyperbolic tangent for fixed point 8bit (16 elements) <a href="#a81ea8bde4e35ce63e8e10708bae0caea">More...</a><br /></td></tr>
<tr class="separator:a81ea8bde4e35ce63e8e10708bae0caea"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab9f9b779eb9bb6ecb730548a1e87da65"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab9f9b779eb9bb6ecb730548a1e87da65">vqtanhq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
-<tr class="memdesc:ab9f9b779eb9bb6ecb730548a1e87da65"><td class="mdescLeft"> </td><td class="mdescRight">Calculate hyperbolic tangent for fixed point 16bit (8 elements) <a href="#ab9f9b779eb9bb6ecb730548a1e87da65">More...</a><br/></td></tr>
+<tr class="memdesc:ab9f9b779eb9bb6ecb730548a1e87da65"><td class="mdescLeft"> </td><td class="mdescRight">Calculate hyperbolic tangent for fixed point 16bit (8 elements) <a href="#ab9f9b779eb9bb6ecb730548a1e87da65">More...</a><br /></td></tr>
<tr class="separator:ab9f9b779eb9bb6ecb730548a1e87da65"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa0061a2146587eea4a393ff14232d8fe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa0061a2146587eea4a393ff14232d8fe">vqpowq_qs8</a> (<a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:aa0061a2146587eea4a393ff14232d8fe"><td class="mdescLeft"> </td><td class="mdescRight">Calculate saturating n power for fixed point 8bit (16 elements). <a href="#aa0061a2146587eea4a393ff14232d8fe">More...</a><br/></td></tr>
+<tr class="memdesc:aa0061a2146587eea4a393ff14232d8fe"><td class="mdescLeft"> </td><td class="mdescRight">Calculate saturating n power for fixed point 8bit (16 elements). <a href="#aa0061a2146587eea4a393ff14232d8fe">More...</a><br /></td></tr>
<tr class="separator:aa0061a2146587eea4a393ff14232d8fe"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad705110ee89e7d32c319671b9b92e0ba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad705110ee89e7d32c319671b9b92e0ba">vqpowq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, <a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> b, int fixed_point_position)</td></tr>
-<tr class="memdesc:ad705110ee89e7d32c319671b9b92e0ba"><td class="mdescLeft"> </td><td class="mdescRight">Calculate saturating n power for fixed point 16bit (8 elements). <a href="#ad705110ee89e7d32c319671b9b92e0ba">More...</a><br/></td></tr>
+<tr class="memdesc:ad705110ee89e7d32c319671b9b92e0ba"><td class="mdescLeft"> </td><td class="mdescRight">Calculate saturating n power for fixed point 16bit (8 elements). <a href="#ad705110ee89e7d32c319671b9b92e0ba">More...</a><br /></td></tr>
<tr class="separator:ad705110ee89e7d32c319671b9b92e0ba"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4e6c2516e84e006167b046690d9a0c84"><td class="memItemLeft" align="right" valign="top">float32x4x2_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4e6c2516e84e006167b046690d9a0c84">vmax2q_f32</a> (float32x4x2_t a, float32x4x2_t b)</td></tr>
-<tr class="memdesc:a4e6c2516e84e006167b046690d9a0c84"><td class="mdescLeft"> </td><td class="mdescRight">Compute lane-by-lane maximum between elements of a float vector with 4x2 elements. <a href="#a4e6c2516e84e006167b046690d9a0c84">More...</a><br/></td></tr>
+<tr class="memdesc:a4e6c2516e84e006167b046690d9a0c84"><td class="mdescLeft"> </td><td class="mdescRight">Compute lane-by-lane maximum between elements of a float vector with 4x2 elements. <a href="#a4e6c2516e84e006167b046690d9a0c84">More...</a><br /></td></tr>
<tr class="separator:a4e6c2516e84e006167b046690d9a0c84"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1c9f2b26b64fd697fa1b22450521876d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1c9f2b26b64fd697fa1b22450521876d">vld2q_qs16</a> (const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> *addr)</td></tr>
<tr class="separator:a1c9f2b26b64fd697fa1b22450521876d"><td class="memSeparator" colspan="2"> </td></tr>
@@ -2858,348 +3245,395 @@
<tr class="memitem:a080bc54b67bc7930ab173117baf1cd07"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a080bc54b67bc7930ab173117baf1cd07">vqtaylor_polyq_qs16</a> (<a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> a, int fixed_point_position)</td></tr>
<tr class="separator:a080bc54b67bc7930ab173117baf1cd07"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:adb7ad6f2d80bafc0a8fb0c920909b9fb"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adb7ad6f2d80bafc0a8fb0c920909b9fb">vfloorq_f32</a> (float32x4_t val)</td></tr>
-<tr class="memdesc:adb7ad6f2d80bafc0a8fb0c920909b9fb"><td class="mdescLeft"> </td><td class="mdescRight">Calculate floor of a vector. <a href="#adb7ad6f2d80bafc0a8fb0c920909b9fb">More...</a><br/></td></tr>
+<tr class="memdesc:adb7ad6f2d80bafc0a8fb0c920909b9fb"><td class="mdescLeft"> </td><td class="mdescRight">Calculate floor of a vector. <a href="#adb7ad6f2d80bafc0a8fb0c920909b9fb">More...</a><br /></td></tr>
<tr class="separator:adb7ad6f2d80bafc0a8fb0c920909b9fb"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a902d274ff1dbe2052b0f2364a98d2b41"><td class="memItemLeft" align="right" valign="top">float32x2_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a902d274ff1dbe2052b0f2364a98d2b41">vinvsqrt_f32</a> (float32x2_t x)</td></tr>
-<tr class="memdesc:a902d274ff1dbe2052b0f2364a98d2b41"><td class="mdescLeft"> </td><td class="mdescRight">Calculate inverse square root. <a href="#a902d274ff1dbe2052b0f2364a98d2b41">More...</a><br/></td></tr>
+<tr class="memdesc:a902d274ff1dbe2052b0f2364a98d2b41"><td class="mdescLeft"> </td><td class="mdescRight">Calculate inverse square root. <a href="#a902d274ff1dbe2052b0f2364a98d2b41">More...</a><br /></td></tr>
<tr class="separator:a902d274ff1dbe2052b0f2364a98d2b41"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2e27db6b9692c4c2013653e276af654d"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2e27db6b9692c4c2013653e276af654d">vinvsqrtq_f32</a> (float32x4_t x)</td></tr>
-<tr class="memdesc:a2e27db6b9692c4c2013653e276af654d"><td class="mdescLeft"> </td><td class="mdescRight">Calculate inverse square root. <a href="#a2e27db6b9692c4c2013653e276af654d">More...</a><br/></td></tr>
+<tr class="memdesc:a2e27db6b9692c4c2013653e276af654d"><td class="mdescLeft"> </td><td class="mdescRight">Calculate inverse square root. <a href="#a2e27db6b9692c4c2013653e276af654d">More...</a><br /></td></tr>
<tr class="separator:a2e27db6b9692c4c2013653e276af654d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7bb067c606cdc07805181688b9bee569"><td class="memItemLeft" align="right" valign="top">float32x2_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7bb067c606cdc07805181688b9bee569">vinv_f32</a> (float32x2_t x)</td></tr>
-<tr class="memdesc:a7bb067c606cdc07805181688b9bee569"><td class="mdescLeft"> </td><td class="mdescRight">Calculate reciprocal. <a href="#a7bb067c606cdc07805181688b9bee569">More...</a><br/></td></tr>
+<tr class="memdesc:a7bb067c606cdc07805181688b9bee569"><td class="mdescLeft"> </td><td class="mdescRight">Calculate reciprocal. <a href="#a7bb067c606cdc07805181688b9bee569">More...</a><br /></td></tr>
<tr class="separator:a7bb067c606cdc07805181688b9bee569"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac8f459d5899b79c00fb4042a5b3470fb"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac8f459d5899b79c00fb4042a5b3470fb">vinvq_f32</a> (float32x4_t x)</td></tr>
-<tr class="memdesc:ac8f459d5899b79c00fb4042a5b3470fb"><td class="mdescLeft"> </td><td class="mdescRight">Calculate reciprocal. <a href="#ac8f459d5899b79c00fb4042a5b3470fb">More...</a><br/></td></tr>
+<tr class="memdesc:ac8f459d5899b79c00fb4042a5b3470fb"><td class="mdescLeft"> </td><td class="mdescRight">Calculate reciprocal. <a href="#ac8f459d5899b79c00fb4042a5b3470fb">More...</a><br /></td></tr>
<tr class="separator:ac8f459d5899b79c00fb4042a5b3470fb"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4fa76a98dce5ed1b655ff840f2ce6e57"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4fa76a98dce5ed1b655ff840f2ce6e57">vtaylor_polyq_f32</a> (float32x4_t x, const std::array< float32x4_t, 8 > &coeffs)</td></tr>
-<tr class="memdesc:a4fa76a98dce5ed1b655ff840f2ce6e57"><td class="mdescLeft"> </td><td class="mdescRight">Perform a 7th degree polynomial approximation using Estrin's method. <a href="#a4fa76a98dce5ed1b655ff840f2ce6e57">More...</a><br/></td></tr>
+<tr class="memdesc:a4fa76a98dce5ed1b655ff840f2ce6e57"><td class="mdescLeft"> </td><td class="mdescRight">Perform a 7th degree polynomial approximation using Estrin's method. <a href="#a4fa76a98dce5ed1b655ff840f2ce6e57">More...</a><br /></td></tr>
<tr class="separator:a4fa76a98dce5ed1b655ff840f2ce6e57"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ade3ef16de304661943c900ac9a47d28f"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ade3ef16de304661943c900ac9a47d28f">vexpq_f32</a> (float32x4_t x)</td></tr>
-<tr class="memdesc:ade3ef16de304661943c900ac9a47d28f"><td class="mdescLeft"> </td><td class="mdescRight">Calculate exponential. <a href="#ade3ef16de304661943c900ac9a47d28f">More...</a><br/></td></tr>
+<tr class="memdesc:ade3ef16de304661943c900ac9a47d28f"><td class="mdescLeft"> </td><td class="mdescRight">Calculate exponential. <a href="#ade3ef16de304661943c900ac9a47d28f">More...</a><br /></td></tr>
<tr class="separator:ade3ef16de304661943c900ac9a47d28f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a37a3e03a22ad160a2e9e5c133607e020"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a37a3e03a22ad160a2e9e5c133607e020">vlogq_f32</a> (float32x4_t x)</td></tr>
-<tr class="memdesc:a37a3e03a22ad160a2e9e5c133607e020"><td class="mdescLeft"> </td><td class="mdescRight">Calculate logarithm. <a href="#a37a3e03a22ad160a2e9e5c133607e020">More...</a><br/></td></tr>
+<tr class="memdesc:a37a3e03a22ad160a2e9e5c133607e020"><td class="mdescLeft"> </td><td class="mdescRight">Calculate logarithm. <a href="#a37a3e03a22ad160a2e9e5c133607e020">More...</a><br /></td></tr>
<tr class="separator:a37a3e03a22ad160a2e9e5c133607e020"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7845701adefdb1adafc98ca3c4918c2e"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7845701adefdb1adafc98ca3c4918c2e">vtanhq_f32</a> (float32x4_t val)</td></tr>
-<tr class="memdesc:a7845701adefdb1adafc98ca3c4918c2e"><td class="mdescLeft"> </td><td class="mdescRight">Calculate hyperbolic tangent. <a href="#a7845701adefdb1adafc98ca3c4918c2e">More...</a><br/></td></tr>
+<tr class="memdesc:a7845701adefdb1adafc98ca3c4918c2e"><td class="mdescLeft"> </td><td class="mdescRight">Calculate hyperbolic tangent. <a href="#a7845701adefdb1adafc98ca3c4918c2e">More...</a><br /></td></tr>
<tr class="separator:a7845701adefdb1adafc98ca3c4918c2e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a45c3c1474c3e3ec31ec13efaf6acd261"><td class="memItemLeft" align="right" valign="top">float32x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a45c3c1474c3e3ec31ec13efaf6acd261">vpowq_f32</a> (float32x4_t val, float32x4_t n)</td></tr>
-<tr class="memdesc:a45c3c1474c3e3ec31ec13efaf6acd261"><td class="mdescLeft"> </td><td class="mdescRight">Calculate n power of a number. <a href="#a45c3c1474c3e3ec31ec13efaf6acd261">More...</a><br/></td></tr>
+<tr class="memdesc:a45c3c1474c3e3ec31ec13efaf6acd261"><td class="mdescLeft"> </td><td class="mdescRight">Calculate n power of a number. <a href="#a45c3c1474c3e3ec31ec13efaf6acd261">More...</a><br /></td></tr>
<tr class="separator:a45c3c1474c3e3ec31ec13efaf6acd261"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a841e85dc31bee3fa3f1855eabf895325"><td class="memItemLeft" align="right" valign="top">float16x8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a841e85dc31bee3fa3f1855eabf895325">vtanhq_f16</a> (float16x8_t val)</td></tr>
-<tr class="memdesc:a841e85dc31bee3fa3f1855eabf895325"><td class="mdescLeft"> </td><td class="mdescRight">Calculate hyperbolic tangent. <a href="#a841e85dc31bee3fa3f1855eabf895325">More...</a><br/></td></tr>
-<tr class="separator:a841e85dc31bee3fa3f1855eabf895325"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:aba029f555d1868e560b8a278bdf87341"><td class="memItemLeft" align="right" valign="top">float16x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aba029f555d1868e560b8a278bdf87341">vinv_f16</a> (float16x4_t x)</td></tr>
-<tr class="memdesc:aba029f555d1868e560b8a278bdf87341"><td class="mdescLeft"> </td><td class="mdescRight">Calculate reciprocal. <a href="#aba029f555d1868e560b8a278bdf87341">More...</a><br/></td></tr>
-<tr class="separator:aba029f555d1868e560b8a278bdf87341"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a5ccd23ffe952767d73334cabcdbff246"><td class="memItemLeft" align="right" valign="top">float16x8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5ccd23ffe952767d73334cabcdbff246">vinvq_f16</a> (float16x8_t x)</td></tr>
-<tr class="memdesc:a5ccd23ffe952767d73334cabcdbff246"><td class="mdescLeft"> </td><td class="mdescRight">Calculate reciprocal. <a href="#a5ccd23ffe952767d73334cabcdbff246">More...</a><br/></td></tr>
-<tr class="separator:a5ccd23ffe952767d73334cabcdbff246"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ab74b7f62070607d8dfb02364664d7867"><td class="memItemLeft" align="right" valign="top">float16x4_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab74b7f62070607d8dfb02364664d7867">vinvsqrt_f16</a> (float16x4_t x)</td></tr>
-<tr class="memdesc:ab74b7f62070607d8dfb02364664d7867"><td class="mdescLeft"> </td><td class="mdescRight">Calculate inverse square root. <a href="#ab74b7f62070607d8dfb02364664d7867">More...</a><br/></td></tr>
-<tr class="separator:ab74b7f62070607d8dfb02364664d7867"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a78ef1abe4de2152c366a40f638f7fb91"><td class="memItemLeft" align="right" valign="top">float16x8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a78ef1abe4de2152c366a40f638f7fb91">vinvsqrtq_f16</a> (float16x8_t x)</td></tr>
-<tr class="memdesc:a78ef1abe4de2152c366a40f638f7fb91"><td class="mdescLeft"> </td><td class="mdescRight">Calculate inverse square root. <a href="#a78ef1abe4de2152c366a40f638f7fb91">More...</a><br/></td></tr>
-<tr class="separator:a78ef1abe4de2152c366a40f638f7fb91"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a829992d2c673006879696821024df5b7"><td class="memItemLeft" align="right" valign="top">float16x8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a829992d2c673006879696821024df5b7">vexpq_f16</a> (float16x8_t x)</td></tr>
-<tr class="memdesc:a829992d2c673006879696821024df5b7"><td class="mdescLeft"> </td><td class="mdescRight">Calculate exponential. <a href="#a829992d2c673006879696821024df5b7">More...</a><br/></td></tr>
-<tr class="separator:a829992d2c673006879696821024df5b7"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a0b601c13358a452569202d3fb718963d"><td class="memItemLeft" align="right" valign="top">float16x8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0b601c13358a452569202d3fb718963d">vpowq_f16</a> (float16x8_t val, float16x8_t n)</td></tr>
-<tr class="memdesc:a0b601c13358a452569202d3fb718963d"><td class="mdescLeft"> </td><td class="mdescRight">Calculate n power of a number. <a href="#a0b601c13358a452569202d3fb718963d">More...</a><br/></td></tr>
-<tr class="separator:a0b601c13358a452569202d3fb718963d"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:afaad64bc527ee67d3374b67610a34a13"><td class="memItemLeft" align="right" valign="top">float16x8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afaad64bc527ee67d3374b67610a34a13">vtaylor_polyq_f16</a> (float16x8_t x, const std::array< float16x8_t, 8 > &coeffs)</td></tr>
-<tr class="separator:afaad64bc527ee67d3374b67610a34a13"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a38bedb9142df17a66ff1b90974f19512"><td class="memItemLeft" align="right" valign="top">float16x8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a38bedb9142df17a66ff1b90974f19512">vlogq_f16</a> (float16x8_t x)</td></tr>
-<tr class="separator:a38bedb9142df17a66ff1b90974f19512"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af58ed9dce099d48202110cd40e793dca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ab8938bcb3ec0f5f8d93285eb3a28b701">qasymm8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af58ed9dce099d48202110cd40e793dca">sqcvt_qasymm8_f32</a> (float <a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, float scale, int <a class="el" href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>, <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> rounding_policy=<a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">RoundingPolicy::TO_NEAREST_UP</a>)</td></tr>
+<tr class="separator:af58ed9dce099d48202110cd40e793dca"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a69d3ceb714f7600f60cb2b3d4f3d86b1"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a69d3ceb714f7600f60cb2b3d4f3d86b1">scvt_f32_qasymm8</a> (<a class="el" href="namespacearm__compute.xhtml#ab8938bcb3ec0f5f8d93285eb3a28b701">qasymm8_t</a> <a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, float scale, int <a class="el" href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>)</td></tr>
+<tr class="separator:a69d3ceb714f7600f60cb2b3d4f3d86b1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6452ac376d4adb94d93a93d678bb6757"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6452ac376d4adb94d93a93d678bb6757">round</a> (float x, <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> rounding_policy)</td></tr>
+<tr class="memdesc:a6452ac376d4adb94d93a93d678bb6757"><td class="mdescLeft"> </td><td class="mdescRight">Return a rounded value of x. <a href="#a6452ac376d4adb94d93a93d678bb6757">More...</a><br /></td></tr>
+<tr class="separator:a6452ac376d4adb94d93a93d678bb6757"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:adf0c6059174045f80af46a0f1fb57bc6"><td class="memTemplParams" colspan="2">template<typename S , typename T > </td></tr>
<tr class="memitem:adf0c6059174045f80af46a0f1fb57bc6"><td class="memTemplItemLeft" align="right" valign="top">auto </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adf0c6059174045f80af46a0f1fb57bc6">ceil_to_multiple</a> (S <a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, T divisor) -> decltype(((<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>+divisor-1)/divisor)*divisor)</td></tr>
-<tr class="memdesc:adf0c6059174045f80af46a0f1fb57bc6"><td class="mdescLeft"> </td><td class="mdescRight">Computes the smallest number larger or equal to value that is a multiple of divisor. <a href="#adf0c6059174045f80af46a0f1fb57bc6">More...</a><br/></td></tr>
+<tr class="memdesc:adf0c6059174045f80af46a0f1fb57bc6"><td class="mdescLeft"> </td><td class="mdescRight">Computes the smallest number larger or equal to value that is a multiple of divisor. <a href="#adf0c6059174045f80af46a0f1fb57bc6">More...</a><br /></td></tr>
<tr class="separator:adf0c6059174045f80af46a0f1fb57bc6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6959e681668a37a9242d2aae4e8b4375"><td class="memTemplParams" colspan="2">template<typename S , typename T > </td></tr>
<tr class="memitem:a6959e681668a37a9242d2aae4e8b4375"><td class="memTemplItemLeft" align="right" valign="top">auto </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6959e681668a37a9242d2aae4e8b4375">floor_to_multiple</a> (S <a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, T divisor) -> decltype((<a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>/divisor)*divisor)</td></tr>
-<tr class="memdesc:a6959e681668a37a9242d2aae4e8b4375"><td class="mdescLeft"> </td><td class="mdescRight">Computes the largest number smaller or equal to value that is a multiple of divisor. <a href="#a6959e681668a37a9242d2aae4e8b4375">More...</a><br/></td></tr>
+<tr class="memdesc:a6959e681668a37a9242d2aae4e8b4375"><td class="mdescLeft"> </td><td class="mdescRight">Computes the largest number smaller or equal to value that is a multiple of divisor. <a href="#a6959e681668a37a9242d2aae4e8b4375">More...</a><br /></td></tr>
<tr class="separator:a6959e681668a37a9242d2aae4e8b4375"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a12705a88669cb9fb90451ebe0db53c41"><td class="memTemplParams" colspan="2">template<typename S , typename T > </td></tr>
<tr class="memitem:a12705a88669cb9fb90451ebe0db53c41"><td class="memTemplItemLeft" align="right" valign="top">constexpr auto </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a12705a88669cb9fb90451ebe0db53c41">DIV_CEIL</a> (S val, T m) -> decltype((val+m-1)/m)</td></tr>
-<tr class="memdesc:a12705a88669cb9fb90451ebe0db53c41"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the rounded up quotient of val / m. <a href="#a12705a88669cb9fb90451ebe0db53c41">More...</a><br/></td></tr>
+<tr class="memdesc:a12705a88669cb9fb90451ebe0db53c41"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the rounded up quotient of val / m. <a href="#a12705a88669cb9fb90451ebe0db53c41">More...</a><br /></td></tr>
<tr class="separator:a12705a88669cb9fb90451ebe0db53c41"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a64c17a5a42d2499a1626222ff9753b4d"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a64c17a5a42d2499a1626222ff9753b4d">build_information</a> ()</td></tr>
-<tr class="memdesc:a64c17a5a42d2499a1626222ff9753b4d"><td class="mdescLeft"> </td><td class="mdescRight">Returns the <a class="el" href="namespacearm__compute.xhtml">arm_compute</a> library build information. <a href="#a64c17a5a42d2499a1626222ff9753b4d">More...</a><br/></td></tr>
+<tr class="memdesc:a64c17a5a42d2499a1626222ff9753b4d"><td class="mdescLeft"> </td><td class="mdescRight">Returns the <a class="el" href="namespacearm__compute.xhtml" title="This file contains all available output stages for GEMMLowp on OpenCL. ">arm_compute</a> library build information. <a href="#a64c17a5a42d2499a1626222ff9753b4d">More...</a><br /></td></tr>
<tr class="separator:a64c17a5a42d2499a1626222ff9753b4d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aefa4a4d3136d77b85cccfce344f9f37f"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aefa4a4d3136d77b85cccfce344f9f37f">read_file</a> (const std::string &filename, bool binary)</td></tr>
-<tr class="memdesc:aefa4a4d3136d77b85cccfce344f9f37f"><td class="mdescLeft"> </td><td class="mdescRight">Load an entire file in memory. <a href="#aefa4a4d3136d77b85cccfce344f9f37f">More...</a><br/></td></tr>
+<tr class="memdesc:aefa4a4d3136d77b85cccfce344f9f37f"><td class="mdescLeft"> </td><td class="mdescRight">Load an entire file in memory. <a href="#aefa4a4d3136d77b85cccfce344f9f37f">More...</a><br /></td></tr>
<tr class="separator:aefa4a4d3136d77b85cccfce344f9f37f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abb7e0f23a4f2e63f39433f158dad47ab"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abb7e0f23a4f2e63f39433f158dad47ab">data_size_from_type</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> data_type)</td></tr>
-<tr class="memdesc:abb7e0f23a4f2e63f39433f158dad47ab"><td class="mdescLeft"> </td><td class="mdescRight">The size in bytes of the data type. <a href="#abb7e0f23a4f2e63f39433f158dad47ab">More...</a><br/></td></tr>
+<tr class="memdesc:abb7e0f23a4f2e63f39433f158dad47ab"><td class="mdescLeft"> </td><td class="mdescRight">The size in bytes of the data type. <a href="#abb7e0f23a4f2e63f39433f158dad47ab">More...</a><br /></td></tr>
<tr class="separator:abb7e0f23a4f2e63f39433f158dad47ab"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4823543d67a2520c98669e2a5608ef6a"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4823543d67a2520c98669e2a5608ef6a">pixel_size_from_format</a> (<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
-<tr class="memdesc:a4823543d67a2520c98669e2a5608ef6a"><td class="mdescLeft"> </td><td class="mdescRight">The size in bytes of the pixel format. <a href="#a4823543d67a2520c98669e2a5608ef6a">More...</a><br/></td></tr>
+<tr class="memdesc:a4823543d67a2520c98669e2a5608ef6a"><td class="mdescLeft"> </td><td class="mdescRight">The size in bytes of the pixel format. <a href="#a4823543d67a2520c98669e2a5608ef6a">More...</a><br /></td></tr>
<tr class="separator:a4823543d67a2520c98669e2a5608ef6a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a34b06c0cd94808a77b697e79880b84b0"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a34b06c0cd94808a77b697e79880b84b0">element_size_from_data_type</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
-<tr class="memdesc:a34b06c0cd94808a77b697e79880b84b0"><td class="mdescLeft"> </td><td class="mdescRight">The size in bytes of the data type. <a href="#a34b06c0cd94808a77b697e79880b84b0">More...</a><br/></td></tr>
+<tr class="memdesc:a34b06c0cd94808a77b697e79880b84b0"><td class="mdescLeft"> </td><td class="mdescRight">The size in bytes of the data type. <a href="#a34b06c0cd94808a77b697e79880b84b0">More...</a><br /></td></tr>
<tr class="separator:a34b06c0cd94808a77b697e79880b84b0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a59846ef5ca75cd81cdb7e8a1ce08f9db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a59846ef5ca75cd81cdb7e8a1ce08f9db">data_type_from_format</a> (<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
-<tr class="memdesc:a59846ef5ca75cd81cdb7e8a1ce08f9db"><td class="mdescLeft"> </td><td class="mdescRight">Return the data type used by a given single-planar pixel format. <a href="#a59846ef5ca75cd81cdb7e8a1ce08f9db">More...</a><br/></td></tr>
+<tr class="memdesc:a59846ef5ca75cd81cdb7e8a1ce08f9db"><td class="mdescLeft"> </td><td class="mdescRight">Return the data type used by a given single-planar pixel format. <a href="#a59846ef5ca75cd81cdb7e8a1ce08f9db">More...</a><br /></td></tr>
<tr class="separator:a59846ef5ca75cd81cdb7e8a1ce08f9db"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4f6fe18760340bcec02d095b7099e923"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4f6fe18760340bcec02d095b7099e923">plane_idx_from_channel</a> (<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> channel)</td></tr>
-<tr class="memdesc:a4f6fe18760340bcec02d095b7099e923"><td class="mdescLeft"> </td><td class="mdescRight">Return the plane index of a given channel given an input format. <a href="#a4f6fe18760340bcec02d095b7099e923">More...</a><br/></td></tr>
+<tr class="memdesc:a4f6fe18760340bcec02d095b7099e923"><td class="mdescLeft"> </td><td class="mdescRight">Return the plane index of a given channel given an input format. <a href="#a4f6fe18760340bcec02d095b7099e923">More...</a><br /></td></tr>
<tr class="separator:a4f6fe18760340bcec02d095b7099e923"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2a71659def659c8b1c164023a99a25a9"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2a71659def659c8b1c164023a99a25a9">num_planes_from_format</a> (<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
-<tr class="memdesc:a2a71659def659c8b1c164023a99a25a9"><td class="mdescLeft"> </td><td class="mdescRight">Return the number of planes for a given format. <a href="#a2a71659def659c8b1c164023a99a25a9">More...</a><br/></td></tr>
+<tr class="memdesc:a2a71659def659c8b1c164023a99a25a9"><td class="mdescLeft"> </td><td class="mdescRight">Return the number of planes for a given format. <a href="#a2a71659def659c8b1c164023a99a25a9">More...</a><br /></td></tr>
<tr class="separator:a2a71659def659c8b1c164023a99a25a9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab14153fb809c18823af3c9c8bc4286cb"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab14153fb809c18823af3c9c8bc4286cb">num_channels_from_format</a> (<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
-<tr class="memdesc:ab14153fb809c18823af3c9c8bc4286cb"><td class="mdescLeft"> </td><td class="mdescRight">Return the number of channels for a given single-planar pixel format. <a href="#ab14153fb809c18823af3c9c8bc4286cb">More...</a><br/></td></tr>
+<tr class="memdesc:ab14153fb809c18823af3c9c8bc4286cb"><td class="mdescLeft"> </td><td class="mdescRight">Return the number of channels for a given single-planar pixel format. <a href="#ab14153fb809c18823af3c9c8bc4286cb">More...</a><br /></td></tr>
<tr class="separator:ab14153fb809c18823af3c9c8bc4286cb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5e4254e9c71fffafb79b99d972df8f81"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5e4254e9c71fffafb79b99d972df8f81">get_promoted_data_type</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
+<tr class="memdesc:a5e4254e9c71fffafb79b99d972df8f81"><td class="mdescLeft"> </td><td class="mdescRight">Return the promoted data type of a given data type. <a href="#a5e4254e9c71fffafb79b99d972df8f81">More...</a><br /></td></tr>
+<tr class="separator:a5e4254e9c71fffafb79b99d972df8f81"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a18ec57dffc5c26864be77318111dfb2a"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a18ec57dffc5c26864be77318111dfb2a">separate_matrix</a> (const int16_t *conv, int16_t *conv_col, int16_t *conv_row, uint8_t <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
-<tr class="memdesc:a18ec57dffc5c26864be77318111dfb2a"><td class="mdescLeft"> </td><td class="mdescRight">Separate a 2D convolution into two 1D convolutions. <a href="#a18ec57dffc5c26864be77318111dfb2a">More...</a><br/></td></tr>
+<tr class="memdesc:a18ec57dffc5c26864be77318111dfb2a"><td class="mdescLeft"> </td><td class="mdescRight">Separate a 2D convolution into two 1D convolutions. <a href="#a18ec57dffc5c26864be77318111dfb2a">More...</a><br /></td></tr>
<tr class="separator:a18ec57dffc5c26864be77318111dfb2a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0101a40c4a6acc2af3b55afa7632f16a"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0101a40c4a6acc2af3b55afa7632f16a">calculate_matrix_scale</a> (const int16_t *matrix, unsigned int matrix_size)</td></tr>
-<tr class="memdesc:a0101a40c4a6acc2af3b55afa7632f16a"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the scale of the given square matrix. <a href="#a0101a40c4a6acc2af3b55afa7632f16a">More...</a><br/></td></tr>
+<tr class="memdesc:a0101a40c4a6acc2af3b55afa7632f16a"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the scale of the given square matrix. <a href="#a0101a40c4a6acc2af3b55afa7632f16a">More...</a><br /></td></tr>
<tr class="separator:a0101a40c4a6acc2af3b55afa7632f16a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a075313545533c34978309ed57d18333f"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
<tr class="memitem:a075313545533c34978309ed57d18333f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a075313545533c34978309ed57d18333f">calculate_depth_concatenate_shape</a> (const std::vector< T * > &inputs_vector)</td></tr>
-<tr class="memdesc:a075313545533c34978309ed57d18333f"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the output shapes of the depth concatenate function. <a href="#a075313545533c34978309ed57d18333f">More...</a><br/></td></tr>
+<tr class="memdesc:a075313545533c34978309ed57d18333f"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the output shapes of the depth concatenate function. <a href="#a075313545533c34978309ed57d18333f">More...</a><br /></td></tr>
<tr class="separator:a075313545533c34978309ed57d18333f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a01adc12d8e07c06cdb0f03c56a455bf3"><td class="memItemLeft" align="right" valign="top">std::pair< <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a01adc12d8e07c06cdb0f03c56a455bf3">data_type_for_convolution</a> (const int16_t *conv_col, const int16_t *conv_row, size_t <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
-<tr class="memdesc:a01adc12d8e07c06cdb0f03c56a455bf3"><td class="mdescLeft"> </td><td class="mdescRight">Calculate accurary required by the horizontal and vertical convolution computations. <a href="#a01adc12d8e07c06cdb0f03c56a455bf3">More...</a><br/></td></tr>
+<tr class="memdesc:a01adc12d8e07c06cdb0f03c56a455bf3"><td class="mdescLeft"> </td><td class="mdescRight">Calculate accurary required by the horizontal and vertical convolution computations. <a href="#a01adc12d8e07c06cdb0f03c56a455bf3">More...</a><br /></td></tr>
<tr class="separator:a01adc12d8e07c06cdb0f03c56a455bf3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3992df9e8723140a53e49dc194d89ef5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3992df9e8723140a53e49dc194d89ef5">data_type_for_convolution_matrix</a> (const int16_t *conv, size_t <a class="el" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>)</td></tr>
-<tr class="memdesc:a3992df9e8723140a53e49dc194d89ef5"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the accuracy required by the squared convolution calculation. <a href="#a3992df9e8723140a53e49dc194d89ef5">More...</a><br/></td></tr>
+<tr class="memdesc:a3992df9e8723140a53e49dc194d89ef5"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the accuracy required by the squared convolution calculation. <a href="#a3992df9e8723140a53e49dc194d89ef5">More...</a><br /></td></tr>
<tr class="separator:a3992df9e8723140a53e49dc194d89ef5"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a3d3d8bf7b86db4d7d4ebfe5b332f41b3"><td class="memItemLeft" align="right" valign="top">const std::pair< unsigned int, <br class="typebreak"/>
-unsigned int > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3d3d8bf7b86db4d7d4ebfe5b332f41b3">scaled_dimensions</a> (unsigned int width, unsigned int height, unsigned int kernel_width, unsigned int kernel_height, const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> &pad_stride_info)</td></tr>
-<tr class="memdesc:a3d3d8bf7b86db4d7d4ebfe5b332f41b3"><td class="mdescLeft"> </td><td class="mdescRight">Returns expected width and height of output scaled tensor depending on dimensions rounding mode. <a href="#a3d3d8bf7b86db4d7d4ebfe5b332f41b3">More...</a><br/></td></tr>
+<tr class="memitem:a7d57332eb91a8735f173556b3caf6236"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7d57332eb91a8735f173556b3caf6236">deconvolution_output_shape</a> (const std::pair< unsigned int, unsigned int > &out_dims, <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> input, <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> weights)</td></tr>
+<tr class="memdesc:a7d57332eb91a8735f173556b3caf6236"><td class="mdescLeft"> </td><td class="mdescRight">Returns expected shape for the deconvolution output tensor. <a href="#a7d57332eb91a8735f173556b3caf6236">More...</a><br /></td></tr>
+<tr class="separator:a7d57332eb91a8735f173556b3caf6236"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a29f1002e9a609eb71ee6b74a888de12a"><td class="memItemLeft" align="right" valign="top">const std::pair< unsigned int, unsigned int > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a29f1002e9a609eb71ee6b74a888de12a">deconvolution_output_dimensions</a> (unsigned int in_width, unsigned int in_height, unsigned int kernel_width, unsigned int kernel_height, unsigned int padx, unsigned int pady, unsigned int ax, unsigned int ay, float upscalex, float upscaley, <a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849a">DimensionRoundingType</a> <a class="el" href="namespacearm__compute.xhtml#a6452ac376d4adb94d93a93d678bb6757">round</a>)</td></tr>
+<tr class="memdesc:a29f1002e9a609eb71ee6b74a888de12a"><td class="mdescLeft"> </td><td class="mdescRight">Returns expected width and height of the deconvolution's output tensor. <a href="#a29f1002e9a609eb71ee6b74a888de12a">More...</a><br /></td></tr>
+<tr class="separator:a29f1002e9a609eb71ee6b74a888de12a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3d3d8bf7b86db4d7d4ebfe5b332f41b3"><td class="memItemLeft" align="right" valign="top">const std::pair< unsigned int, unsigned int > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3d3d8bf7b86db4d7d4ebfe5b332f41b3">scaled_dimensions</a> (unsigned int width, unsigned int height, unsigned int kernel_width, unsigned int kernel_height, const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> &pad_stride_info)</td></tr>
+<tr class="memdesc:a3d3d8bf7b86db4d7d4ebfe5b332f41b3"><td class="mdescLeft"> </td><td class="mdescRight">Returns expected width and height of output scaled tensor depending on dimensions rounding mode. <a href="#a3d3d8bf7b86db4d7d4ebfe5b332f41b3">More...</a><br /></td></tr>
<tr class="separator:a3d3d8bf7b86db4d7d4ebfe5b332f41b3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9c92c867fc64454545668d87b20979eb"><td class="memItemLeft" align="right" valign="top">const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format</a> (<a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> format)</td></tr>
-<tr class="memdesc:a9c92c867fc64454545668d87b20979eb"><td class="mdescLeft"> </td><td class="mdescRight">Convert a tensor format into a string. <a href="#a9c92c867fc64454545668d87b20979eb">More...</a><br/></td></tr>
+<tr class="memdesc:a9c92c867fc64454545668d87b20979eb"><td class="mdescLeft"> </td><td class="mdescRight">Convert a tensor format into a string. <a href="#a9c92c867fc64454545668d87b20979eb">More...</a><br /></td></tr>
<tr class="separator:a9c92c867fc64454545668d87b20979eb"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a106c203dd6af234d38452ea0ee7b2ddc"><td class="memItemLeft" align="right" valign="top">const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a106c203dd6af234d38452ea0ee7b2ddc">string_from_channel</a> (<a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> channel)</td></tr>
-<tr class="memdesc:a106c203dd6af234d38452ea0ee7b2ddc"><td class="mdescLeft"> </td><td class="mdescRight">Convert a channel identity into a string. <a href="#a106c203dd6af234d38452ea0ee7b2ddc">More...</a><br/></td></tr>
+<tr class="memdesc:a106c203dd6af234d38452ea0ee7b2ddc"><td class="mdescLeft"> </td><td class="mdescRight">Convert a channel identity into a string. <a href="#a106c203dd6af234d38452ea0ee7b2ddc">More...</a><br /></td></tr>
<tr class="separator:a106c203dd6af234d38452ea0ee7b2ddc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aefa1d9648995e5eccc693c690e27aa88"><td class="memItemLeft" align="right" valign="top">const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
-<tr class="memdesc:aefa1d9648995e5eccc693c690e27aa88"><td class="mdescLeft"> </td><td class="mdescRight">Convert a data type identity into a string. <a href="#aefa1d9648995e5eccc693c690e27aa88">More...</a><br/></td></tr>
+<tr class="memdesc:aefa1d9648995e5eccc693c690e27aa88"><td class="mdescLeft"> </td><td class="mdescRight">Convert a data type identity into a string. <a href="#aefa1d9648995e5eccc693c690e27aa88">More...</a><br /></td></tr>
<tr class="separator:aefa1d9648995e5eccc693c690e27aa88"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a018795ab2489d17309e158ff5c060ab1"><td class="memItemLeft" align="right" valign="top">const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a018795ab2489d17309e158ff5c060ab1">string_from_matrix_pattern</a> (<a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> pattern)</td></tr>
-<tr class="memdesc:a018795ab2489d17309e158ff5c060ab1"><td class="mdescLeft"> </td><td class="mdescRight">Convert a matrix pattern into a string. <a href="#a018795ab2489d17309e158ff5c060ab1">More...</a><br/></td></tr>
+<tr class="memdesc:a018795ab2489d17309e158ff5c060ab1"><td class="mdescLeft"> </td><td class="mdescRight">Convert a matrix pattern into a string. <a href="#a018795ab2489d17309e158ff5c060ab1">More...</a><br /></td></tr>
<tr class="separator:a018795ab2489d17309e158ff5c060ab1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac955c978e18cc9bf6daea31f13076fba"><td class="memItemLeft" align="right" valign="top">const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac955c978e18cc9bf6daea31f13076fba">string_from_activation_func</a> (<a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9ea">ActivationLayerInfo::ActivationFunction</a> act)</td></tr>
-<tr class="memdesc:ac955c978e18cc9bf6daea31f13076fba"><td class="mdescLeft"> </td><td class="mdescRight">Translates a given activation function to a string. <a href="#ac955c978e18cc9bf6daea31f13076fba">More...</a><br/></td></tr>
+<tr class="memdesc:ac955c978e18cc9bf6daea31f13076fba"><td class="mdescLeft"> </td><td class="mdescRight">Translates a given activation function to a string. <a href="#ac955c978e18cc9bf6daea31f13076fba">More...</a><br /></td></tr>
<tr class="separator:ac955c978e18cc9bf6daea31f13076fba"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a14831547f57ecf5f0deef888ad41ad30"><td class="memItemLeft" align="right" valign="top">const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a14831547f57ecf5f0deef888ad41ad30">string_from_non_linear_filter_function</a> (<a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> function)</td></tr>
-<tr class="memdesc:a14831547f57ecf5f0deef888ad41ad30"><td class="mdescLeft"> </td><td class="mdescRight">Translates a given non linear function to a string. <a href="#a14831547f57ecf5f0deef888ad41ad30">More...</a><br/></td></tr>
+<tr class="memdesc:a14831547f57ecf5f0deef888ad41ad30"><td class="mdescLeft"> </td><td class="mdescRight">Translates a given non linear function to a string. <a href="#a14831547f57ecf5f0deef888ad41ad30">More...</a><br /></td></tr>
<tr class="separator:a14831547f57ecf5f0deef888ad41ad30"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ade34f5e72f050fd3665f3294dfb15850"><td class="memItemLeft" align="right" valign="top">const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ade34f5e72f050fd3665f3294dfb15850">string_from_interpolation_policy</a> (<a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> policy)</td></tr>
-<tr class="memdesc:ade34f5e72f050fd3665f3294dfb15850"><td class="mdescLeft"> </td><td class="mdescRight">Translates a given interpolation policy to a string. <a href="#ade34f5e72f050fd3665f3294dfb15850">More...</a><br/></td></tr>
+<tr class="memdesc:ade34f5e72f050fd3665f3294dfb15850"><td class="mdescLeft"> </td><td class="mdescRight">Translates a given interpolation policy to a string. <a href="#ade34f5e72f050fd3665f3294dfb15850">More...</a><br /></td></tr>
<tr class="separator:ade34f5e72f050fd3665f3294dfb15850"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abd15add5c6c7de5c8205ce236875aadd"><td class="memItemLeft" align="right" valign="top">const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abd15add5c6c7de5c8205ce236875aadd">string_from_border_mode</a> (<a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> border_mode)</td></tr>
-<tr class="memdesc:abd15add5c6c7de5c8205ce236875aadd"><td class="mdescLeft"> </td><td class="mdescRight">Translates a given border mode policy to a string. <a href="#abd15add5c6c7de5c8205ce236875aadd">More...</a><br/></td></tr>
+<tr class="memdesc:abd15add5c6c7de5c8205ce236875aadd"><td class="mdescLeft"> </td><td class="mdescRight">Translates a given border mode policy to a string. <a href="#abd15add5c6c7de5c8205ce236875aadd">More...</a><br /></td></tr>
<tr class="separator:abd15add5c6c7de5c8205ce236875aadd"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:afb5698af5404d5d11e3516c87b6e7041"><td class="memItemLeft" align="right" valign="top">const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afb5698af5404d5d11e3516c87b6e7041">string_from_norm_type</a> (<a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> type)</td></tr>
-<tr class="memdesc:afb5698af5404d5d11e3516c87b6e7041"><td class="mdescLeft"> </td><td class="mdescRight">Translates a given normalization type to a string. <a href="#afb5698af5404d5d11e3516c87b6e7041">More...</a><br/></td></tr>
+<tr class="memdesc:afb5698af5404d5d11e3516c87b6e7041"><td class="mdescLeft"> </td><td class="mdescRight">Translates a given normalization type to a string. <a href="#afb5698af5404d5d11e3516c87b6e7041">More...</a><br /></td></tr>
<tr class="separator:afb5698af5404d5d11e3516c87b6e7041"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a84a03e85d2c40bf54ec8cdd5e3715c58"><td class="memItemLeft" align="right" valign="top">const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a84a03e85d2c40bf54ec8cdd5e3715c58">string_from_pooling_type</a> (<a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> type)</td></tr>
-<tr class="memdesc:a84a03e85d2c40bf54ec8cdd5e3715c58"><td class="mdescLeft"> </td><td class="mdescRight">Translates a given pooling type to a string. <a href="#a84a03e85d2c40bf54ec8cdd5e3715c58">More...</a><br/></td></tr>
+<tr class="memdesc:a84a03e85d2c40bf54ec8cdd5e3715c58"><td class="mdescLeft"> </td><td class="mdescRight">Translates a given pooling type to a string. <a href="#a84a03e85d2c40bf54ec8cdd5e3715c58">More...</a><br /></td></tr>
<tr class="separator:a84a03e85d2c40bf54ec8cdd5e3715c58"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a532fb45c0261724a4c2e755cfd3a44e6"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a532fb45c0261724a4c2e755cfd3a44e6">lower_string</a> (const std::string &val)</td></tr>
-<tr class="memdesc:a532fb45c0261724a4c2e755cfd3a44e6"><td class="mdescLeft"> </td><td class="mdescRight">Lower a given string. <a href="#a532fb45c0261724a4c2e755cfd3a44e6">More...</a><br/></td></tr>
+<tr class="memdesc:a532fb45c0261724a4c2e755cfd3a44e6"><td class="mdescLeft"> </td><td class="mdescRight">Lower a given string. <a href="#a532fb45c0261724a4c2e755cfd3a44e6">More...</a><br /></td></tr>
<tr class="separator:a532fb45c0261724a4c2e755cfd3a44e6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af5982a092e9eb743fce2d6392bdd8897"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af5982a092e9eb743fce2d6392bdd8897">is_data_type_float</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
-<tr class="memdesc:af5982a092e9eb743fce2d6392bdd8897"><td class="mdescLeft"> </td><td class="mdescRight">Check if a given data type is of floating point type. <a href="#af5982a092e9eb743fce2d6392bdd8897">More...</a><br/></td></tr>
+<tr class="memdesc:af5982a092e9eb743fce2d6392bdd8897"><td class="mdescLeft"> </td><td class="mdescRight">Check if a given data type is of floating point type. <a href="#af5982a092e9eb743fce2d6392bdd8897">More...</a><br /></td></tr>
<tr class="separator:af5982a092e9eb743fce2d6392bdd8897"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0bee325b210f81bb89fe1f9e15badf9c"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0bee325b210f81bb89fe1f9e15badf9c">is_data_type_quantized</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
+<tr class="memdesc:a0bee325b210f81bb89fe1f9e15badf9c"><td class="mdescLeft"> </td><td class="mdescRight">Check if a given data type is of quantized type. <a href="#a0bee325b210f81bb89fe1f9e15badf9c">More...</a><br /></td></tr>
+<tr class="separator:a0bee325b210f81bb89fe1f9e15badf9c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab6bb62694ae8369d18a9c9687040975e"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab6bb62694ae8369d18a9c9687040975e">is_data_type_fixed_point</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
-<tr class="memdesc:ab6bb62694ae8369d18a9c9687040975e"><td class="mdescLeft"> </td><td class="mdescRight">Check if a given data type is of fixed point type. <a href="#ab6bb62694ae8369d18a9c9687040975e">More...</a><br/></td></tr>
+<tr class="memdesc:ab6bb62694ae8369d18a9c9687040975e"><td class="mdescLeft"> </td><td class="mdescRight">Check if a given data type is of fixed point type. <a href="#ab6bb62694ae8369d18a9c9687040975e">More...</a><br /></td></tr>
<tr class="separator:ab6bb62694ae8369d18a9c9687040975e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a14f46283f316e7f0fad301d5c1507e9f"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a14f46283f316e7f0fad301d5c1507e9f">is_data_type_quantized_asymmetric</a> (<a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt)</td></tr>
+<tr class="memdesc:a14f46283f316e7f0fad301d5c1507e9f"><td class="mdescLeft"> </td><td class="mdescRight">Check if a given data type is of asymmetric quantized type. <a href="#a14f46283f316e7f0fad301d5c1507e9f">More...</a><br /></td></tr>
+<tr class="separator:a14f46283f316e7f0fad301d5c1507e9f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9cd394c15b73f79ca1d98f5328064be2"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9cd394c15b73f79ca1d98f5328064be2">float_to_string_with_full_precision</a> (float val)</td></tr>
-<tr class="memdesc:a9cd394c15b73f79ca1d98f5328064be2"><td class="mdescLeft"> </td><td class="mdescRight">Create a string with the float in full precision. <a href="#a9cd394c15b73f79ca1d98f5328064be2">More...</a><br/></td></tr>
+<tr class="memdesc:a9cd394c15b73f79ca1d98f5328064be2"><td class="mdescLeft"> </td><td class="mdescRight">Create a string with the float in full precision. <a href="#a9cd394c15b73f79ca1d98f5328064be2">More...</a><br /></td></tr>
<tr class="separator:a9cd394c15b73f79ca1d98f5328064be2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa3a28b8acd21301990e06377c64e1276"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
<tr class="memitem:aa3a28b8acd21301990e06377c64e1276"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa3a28b8acd21301990e06377c64e1276">print_consecutive_elements_impl</a> (std::ostream &s, const T *ptr, unsigned int n, int stream_width=0, const std::string &element_delim=" ")</td></tr>
-<tr class="memdesc:aa3a28b8acd21301990e06377c64e1276"><td class="mdescLeft"> </td><td class="mdescRight">Print consecutive elements to an output stream. <a href="#aa3a28b8acd21301990e06377c64e1276">More...</a><br/></td></tr>
+<tr class="memdesc:aa3a28b8acd21301990e06377c64e1276"><td class="mdescLeft"> </td><td class="mdescRight">Print consecutive elements to an output stream. <a href="#aa3a28b8acd21301990e06377c64e1276">More...</a><br /></td></tr>
<tr class="separator:aa3a28b8acd21301990e06377c64e1276"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aaecee617b967dd96f27d2f36732fb68e"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
<tr class="memitem:aaecee617b967dd96f27d2f36732fb68e"><td class="memTemplItemLeft" align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aaecee617b967dd96f27d2f36732fb68e">max_consecutive_elements_display_width_impl</a> (std::ostream &s, const T *ptr, unsigned int n)</td></tr>
-<tr class="memdesc:aaecee617b967dd96f27d2f36732fb68e"><td class="mdescLeft"> </td><td class="mdescRight">Identify the maximum width of n consecutive elements. <a href="#aaecee617b967dd96f27d2f36732fb68e">More...</a><br/></td></tr>
+<tr class="memdesc:aaecee617b967dd96f27d2f36732fb68e"><td class="mdescLeft"> </td><td class="mdescRight">Identify the maximum width of n consecutive elements. <a href="#aaecee617b967dd96f27d2f36732fb68e">More...</a><br /></td></tr>
<tr class="separator:aaecee617b967dd96f27d2f36732fb68e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a51a0d2ae440bc8cab3fbbe84bfea8b1d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a51a0d2ae440bc8cab3fbbe84bfea8b1d">print_consecutive_elements</a> (std::ostream &s, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt, const uint8_t *ptr, unsigned int n, int stream_width, const std::string &element_delim=" ")</td></tr>
-<tr class="memdesc:a51a0d2ae440bc8cab3fbbe84bfea8b1d"><td class="mdescLeft"> </td><td class="mdescRight">Print consecutive elements to an output stream. <a href="#a51a0d2ae440bc8cab3fbbe84bfea8b1d">More...</a><br/></td></tr>
+<tr class="memdesc:a51a0d2ae440bc8cab3fbbe84bfea8b1d"><td class="mdescLeft"> </td><td class="mdescRight">Print consecutive elements to an output stream. <a href="#a51a0d2ae440bc8cab3fbbe84bfea8b1d">More...</a><br /></td></tr>
<tr class="separator:a51a0d2ae440bc8cab3fbbe84bfea8b1d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac3f2de3a35ff8d9a47b5b793637784e7"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac3f2de3a35ff8d9a47b5b793637784e7">max_consecutive_elements_display_width</a> (std::ostream &s, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt, const uint8_t *ptr, unsigned int n)</td></tr>
-<tr class="memdesc:ac3f2de3a35ff8d9a47b5b793637784e7"><td class="mdescLeft"> </td><td class="mdescRight">Identify the maximum width of n consecutive elements. <a href="#ac3f2de3a35ff8d9a47b5b793637784e7">More...</a><br/></td></tr>
+<tr class="memdesc:ac3f2de3a35ff8d9a47b5b793637784e7"><td class="mdescLeft"> </td><td class="mdescRight">Identify the maximum width of n consecutive elements. <a href="#ac3f2de3a35ff8d9a47b5b793637784e7">More...</a><br /></td></tr>
<tr class="separator:ac3f2de3a35ff8d9a47b5b793637784e7"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a078507835115009a81ee2974d6073bb9"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
-<tr class="memitem:a078507835115009a81ee2974d6073bb9"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a078507835115009a81ee2974d6073bb9">error_on_nullptr</a> (const char *function, const char *file, const int line, Ts &&...pointers)</td></tr>
-<tr class="memdesc:a078507835115009a81ee2974d6073bb9"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if one of the pointers is a nullptr. <a href="#a078507835115009a81ee2974d6073bb9">More...</a><br/></td></tr>
-<tr class="separator:a078507835115009a81ee2974d6073bb9"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a26a9847c05c48bd1470f22f898ee254d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a26a9847c05c48bd1470f22f898ee254d">error_on_mismatching_windows</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &full, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &win)</td></tr>
-<tr class="memdesc:a26a9847c05c48bd1470f22f898ee254d"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the passed window is invalid. <a href="#a26a9847c05c48bd1470f22f898ee254d">More...</a><br/></td></tr>
-<tr class="separator:a26a9847c05c48bd1470f22f898ee254d"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a0916477887763c20822b43be144963eb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0916477887763c20822b43be144963eb">error_on_invalid_subwindow</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &full, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &sub)</td></tr>
-<tr class="memdesc:a0916477887763c20822b43be144963eb"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the passed subwindow is invalid. <a href="#a0916477887763c20822b43be144963eb">More...</a><br/></td></tr>
-<tr class="separator:a0916477887763c20822b43be144963eb"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ade618d7802413e82df0d9c1dbb049138"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ade618d7802413e82df0d9c1dbb049138">error_on_window_not_collapsable_at_dimension</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &full, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &window, const int dim)</td></tr>
-<tr class="memdesc:ade618d7802413e82df0d9c1dbb049138"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the window can't be collapsed at the given dimension. <a href="#ade618d7802413e82df0d9c1dbb049138">More...</a><br/></td></tr>
-<tr class="separator:ade618d7802413e82df0d9c1dbb049138"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a130822528598f21a48f7ee0e6d8438a0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a130822528598f21a48f7ee0e6d8438a0">error_on_coordinates_dimensions_gte</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &pos, unsigned int max_dim)</td></tr>
-<tr class="memdesc:a130822528598f21a48f7ee0e6d8438a0"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the passed coordinates have too many dimensions. <a href="#a130822528598f21a48f7ee0e6d8438a0">More...</a><br/></td></tr>
-<tr class="separator:a130822528598f21a48f7ee0e6d8438a0"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a6fed5543ae383442a51362e6607c4e65"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6fed5543ae383442a51362e6607c4e65">error_on_window_dimensions_gte</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &win, unsigned int max_dim)</td></tr>
-<tr class="memdesc:a6fed5543ae383442a51362e6607c4e65"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the passed window has too many dimensions. <a href="#a6fed5543ae383442a51362e6607c4e65">More...</a><br/></td></tr>
-<tr class="separator:a6fed5543ae383442a51362e6607c4e65"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:aff062b84c57c614a2de4d54db2cbc31c"><td class="memTemplParams" colspan="2">template<typename T , typename... Ts> </td></tr>
-<tr class="memitem:aff062b84c57c614a2de4d54db2cbc31c"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aff062b84c57c614a2de4d54db2cbc31c">error_on_mismatching_dimensions</a> (const char *function, const char *file, int line, const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>< T > &dim1, const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>< T > &dim2, Ts &&...dims)</td></tr>
-<tr class="memdesc:aff062b84c57c614a2de4d54db2cbc31c"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the passed dimension objects differ. <a href="#aff062b84c57c614a2de4d54db2cbc31c">More...</a><br/></td></tr>
-<tr class="separator:aff062b84c57c614a2de4d54db2cbc31c"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a7b689868b627ba9e22c8473c5f985512"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
-<tr class="memitem:a7b689868b627ba9e22c8473c5f985512"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7b689868b627ba9e22c8473c5f985512">error_on_mismatching_shapes</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_2, Ts...tensors)</td></tr>
-<tr class="memdesc:a7b689868b627ba9e22c8473c5f985512"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the passed two tensors have different shapes from the given dimension. <a href="#a7b689868b627ba9e22c8473c5f985512">More...</a><br/></td></tr>
-<tr class="separator:a7b689868b627ba9e22c8473c5f985512"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a496e03102bca40f666c12a575d4a6157"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
-<tr class="memitem:a496e03102bca40f666c12a575d4a6157"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a496e03102bca40f666c12a575d4a6157">error_on_mismatching_shapes</a> (const char *function, const char *file, const int line, unsigned int upper_dim, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_2, Ts...tensors)</td></tr>
-<tr class="memdesc:a496e03102bca40f666c12a575d4a6157"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the passed two tensors have different shapes from the given dimension. <a href="#a496e03102bca40f666c12a575d4a6157">More...</a><br/></td></tr>
-<tr class="separator:a496e03102bca40f666c12a575d4a6157"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a464883e1c23b02d47d8db21956a8f117"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
-<tr class="memitem:a464883e1c23b02d47d8db21956a8f117"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a464883e1c23b02d47d8db21956a8f117">error_on_mismatching_data_types</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor, Ts...tensors)</td></tr>
-<tr class="memdesc:a464883e1c23b02d47d8db21956a8f117"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the passed two tensors have different data types. <a href="#a464883e1c23b02d47d8db21956a8f117">More...</a><br/></td></tr>
-<tr class="separator:a464883e1c23b02d47d8db21956a8f117"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a526ed43a37ba0faf2c1789175ec1a350"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
-<tr class="memitem:a526ed43a37ba0faf2c1789175ec1a350"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a526ed43a37ba0faf2c1789175ec1a350">error_on_mismatching_fixed_point</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_2, Ts...tensors)</td></tr>
-<tr class="memdesc:a526ed43a37ba0faf2c1789175ec1a350"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the passed tensors have different fixed point data types or different fixed point positions. <a href="#a526ed43a37ba0faf2c1789175ec1a350">More...</a><br/></td></tr>
-<tr class="separator:a526ed43a37ba0faf2c1789175ec1a350"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af4587cd36ddbf2e4dde217d1a1007940"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
+<tr class="memitem:af4587cd36ddbf2e4dde217d1a1007940"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">error_on_nullptr</a> (const char *function, const char *file, const int line, Ts &&...pointers)</td></tr>
+<tr class="memdesc:af4587cd36ddbf2e4dde217d1a1007940"><td class="mdescLeft"> </td><td class="mdescRight">Create an error if one of the pointers is a nullptr. <a href="#af4587cd36ddbf2e4dde217d1a1007940">More...</a><br /></td></tr>
+<tr class="separator:af4587cd36ddbf2e4dde217d1a1007940"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a75738bb24f735248ab9584cd24544234"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a75738bb24f735248ab9584cd24544234">error_on_mismatching_windows</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &full, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &win)</td></tr>
+<tr class="memdesc:a75738bb24f735248ab9584cd24544234"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the passed window is invalid. <a href="#a75738bb24f735248ab9584cd24544234">More...</a><br /></td></tr>
+<tr class="separator:a75738bb24f735248ab9584cd24544234"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aceb8dd0f6a4e2539b39b5a69a1c345b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aceb8dd0f6a4e2539b39b5a69a1c345b4">error_on_invalid_subwindow</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &full, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &sub)</td></tr>
+<tr class="memdesc:aceb8dd0f6a4e2539b39b5a69a1c345b4"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the passed subwindow is invalid. <a href="#aceb8dd0f6a4e2539b39b5a69a1c345b4">More...</a><br /></td></tr>
+<tr class="separator:aceb8dd0f6a4e2539b39b5a69a1c345b4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a220627e9e23de1058191022aea58e1cf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a220627e9e23de1058191022aea58e1cf">error_on_window_not_collapsable_at_dimension</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &full, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &window, const int dim)</td></tr>
+<tr class="memdesc:a220627e9e23de1058191022aea58e1cf"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the window can't be collapsed at the given dimension. <a href="#a220627e9e23de1058191022aea58e1cf">More...</a><br /></td></tr>
+<tr class="separator:a220627e9e23de1058191022aea58e1cf"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a454f8112fcca60b99883f19ff43daf9f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a454f8112fcca60b99883f19ff43daf9f">error_on_coordinates_dimensions_gte</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &pos, unsigned int max_dim)</td></tr>
+<tr class="memdesc:a454f8112fcca60b99883f19ff43daf9f"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the passed coordinates have too many dimensions. <a href="#a454f8112fcca60b99883f19ff43daf9f">More...</a><br /></td></tr>
+<tr class="separator:a454f8112fcca60b99883f19ff43daf9f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1b1ebe735a15f66be7ebe8dccdbcee15"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1b1ebe735a15f66be7ebe8dccdbcee15">error_on_window_dimensions_gte</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &win, unsigned int max_dim)</td></tr>
+<tr class="memdesc:a1b1ebe735a15f66be7ebe8dccdbcee15"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the passed window has too many dimensions. <a href="#a1b1ebe735a15f66be7ebe8dccdbcee15">More...</a><br /></td></tr>
+<tr class="separator:a1b1ebe735a15f66be7ebe8dccdbcee15"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab3f385292b90327061e1276f3e3445c7"><td class="memTemplParams" colspan="2">template<typename T , typename... Ts> </td></tr>
+<tr class="memitem:ab3f385292b90327061e1276f3e3445c7"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab3f385292b90327061e1276f3e3445c7">error_on_mismatching_dimensions</a> (const char *function, const char *file, int line, const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>< T > &dim1, const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>< T > &dim2, Ts &&...dims)</td></tr>
+<tr class="memdesc:ab3f385292b90327061e1276f3e3445c7"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the passed dimension objects differ. <a href="#ab3f385292b90327061e1276f3e3445c7">More...</a><br /></td></tr>
+<tr class="separator:ab3f385292b90327061e1276f3e3445c7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aea117e0cebca5f4642ed3f269217a09e"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
+<tr class="memitem:aea117e0cebca5f4642ed3f269217a09e"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aea117e0cebca5f4642ed3f269217a09e">error_on_mismatching_shapes</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_1, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_2, Ts...tensor_infos)</td></tr>
+<tr class="memdesc:aea117e0cebca5f4642ed3f269217a09e"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the passed two tensor infos have different shapes from the given dimension. <a href="#aea117e0cebca5f4642ed3f269217a09e">More...</a><br /></td></tr>
+<tr class="separator:aea117e0cebca5f4642ed3f269217a09e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a41328dd4b943d34c1cc61410571fd6fa"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
+<tr class="memitem:a41328dd4b943d34c1cc61410571fd6fa"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a41328dd4b943d34c1cc61410571fd6fa">error_on_mismatching_shapes</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_2, Ts...tensors)</td></tr>
+<tr class="memdesc:a41328dd4b943d34c1cc61410571fd6fa"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the passed two tensors have different shapes from the given dimension. <a href="#a41328dd4b943d34c1cc61410571fd6fa">More...</a><br /></td></tr>
+<tr class="separator:a41328dd4b943d34c1cc61410571fd6fa"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aac6150cce1c9c666600e4b320a0066e9"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
+<tr class="memitem:aac6150cce1c9c666600e4b320a0066e9"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aac6150cce1c9c666600e4b320a0066e9">error_on_mismatching_shapes</a> (const char *function, const char *file, const int line, unsigned int upper_dim, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_1, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_2, Ts...tensor_infos)</td></tr>
+<tr class="memdesc:aac6150cce1c9c666600e4b320a0066e9"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the passed two tensors have different shapes from the given dimension. <a href="#aac6150cce1c9c666600e4b320a0066e9">More...</a><br /></td></tr>
+<tr class="separator:aac6150cce1c9c666600e4b320a0066e9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afa04b5bdea84e0effab066e3b1324ec5"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
+<tr class="memitem:afa04b5bdea84e0effab066e3b1324ec5"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#afa04b5bdea84e0effab066e3b1324ec5">error_on_mismatching_shapes</a> (const char *function, const char *file, const int line, unsigned int upper_dim, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_2, Ts...tensors)</td></tr>
+<tr class="memdesc:afa04b5bdea84e0effab066e3b1324ec5"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the passed two tensors have different shapes from the given dimension. <a href="#afa04b5bdea84e0effab066e3b1324ec5">More...</a><br /></td></tr>
+<tr class="separator:afa04b5bdea84e0effab066e3b1324ec5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00672eb7b5db5f6396b39b241eaf12f7"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
+<tr class="memitem:a00672eb7b5db5f6396b39b241eaf12f7"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a00672eb7b5db5f6396b39b241eaf12f7">error_on_mismatching_data_types</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info, Ts...tensor_infos)</td></tr>
+<tr class="memdesc:a00672eb7b5db5f6396b39b241eaf12f7"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the passed two tensor infos have different data types. <a href="#a00672eb7b5db5f6396b39b241eaf12f7">More...</a><br /></td></tr>
+<tr class="separator:a00672eb7b5db5f6396b39b241eaf12f7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a709c2aef39aa212b840c6395fc20ce17"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
+<tr class="memitem:a709c2aef39aa212b840c6395fc20ce17"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a709c2aef39aa212b840c6395fc20ce17">error_on_mismatching_data_types</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor, Ts...tensors)</td></tr>
+<tr class="memdesc:a709c2aef39aa212b840c6395fc20ce17"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the passed two tensors have different data types. <a href="#a709c2aef39aa212b840c6395fc20ce17">More...</a><br /></td></tr>
+<tr class="separator:a709c2aef39aa212b840c6395fc20ce17"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aafd4504246cc7e82e108204cb9636a90"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
+<tr class="memitem:aafd4504246cc7e82e108204cb9636a90"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aafd4504246cc7e82e108204cb9636a90">error_on_mismatching_fixed_point</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_1, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_2, Ts...tensor_infos)</td></tr>
+<tr class="memdesc:aafd4504246cc7e82e108204cb9636a90"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the passed tensor infos have different fixed point data types or different fixed point positions. <a href="#aafd4504246cc7e82e108204cb9636a90">More...</a><br /></td></tr>
+<tr class="separator:aafd4504246cc7e82e108204cb9636a90"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8ecebd0b1ad2f0c593f7b093a1e43448"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
+<tr class="memitem:a8ecebd0b1ad2f0c593f7b093a1e43448"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8ecebd0b1ad2f0c593f7b093a1e43448">error_on_mismatching_fixed_point</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_2, Ts...tensors)</td></tr>
+<tr class="memdesc:a8ecebd0b1ad2f0c593f7b093a1e43448"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the passed tensor have different fixed point data types or different fixed point positions. <a href="#a8ecebd0b1ad2f0c593f7b093a1e43448">More...</a><br /></td></tr>
+<tr class="separator:a8ecebd0b1ad2f0c593f7b093a1e43448"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af4c3199d58278db542e1cdfb72a41901"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
+<tr class="memitem:af4c3199d58278db542e1cdfb72a41901"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af4c3199d58278db542e1cdfb72a41901">error_on_mismatching_quantization_info</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_1, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_2, Ts...tensor_infos)</td></tr>
+<tr class="memdesc:af4c3199d58278db542e1cdfb72a41901"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the passed tensor infos have different asymmetric quantized data types or different quantization info. <a href="#af4c3199d58278db542e1cdfb72a41901">More...</a><br /></td></tr>
+<tr class="separator:af4c3199d58278db542e1cdfb72a41901"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5be375b525bba68610a75da0a043df3a"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
+<tr class="memitem:a5be375b525bba68610a75da0a043df3a"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5be375b525bba68610a75da0a043df3a">error_on_mismatching_quantization_info</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_2, Ts...tensors)</td></tr>
+<tr class="memdesc:a5be375b525bba68610a75da0a043df3a"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the passed tensor have different asymmetric quantized data types or different quantization info. <a href="#a5be375b525bba68610a75da0a043df3a">More...</a><br /></td></tr>
+<tr class="separator:a5be375b525bba68610a75da0a043df3a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0b360558b516e256f0af005a164c674e"><td class="memTemplParams" colspan="2">template<typename T , typename F , typename... Fs> </td></tr>
<tr class="memitem:a0b360558b516e256f0af005a164c674e"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0b360558b516e256f0af005a164c674e">error_on_format_not_in</a> (const char *function, const char *file, const int line, const T *object, F &&format, Fs &&...formats)</td></tr>
-<tr class="memdesc:a0b360558b516e256f0af005a164c674e"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the format of the passed tensor/multi-image does not match any of the formats provided. <a href="#a0b360558b516e256f0af005a164c674e">More...</a><br/></td></tr>
+<tr class="memdesc:a0b360558b516e256f0af005a164c674e"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the format of the passed tensor/multi-image does not match any of the formats provided. <a href="#a0b360558b516e256f0af005a164c674e">More...</a><br /></td></tr>
<tr class="separator:a0b360558b516e256f0af005a164c674e"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a0c52339d3cb372d145deeafb5a313807"><td class="memTemplParams" colspan="2">template<typename T , typename... Ts> </td></tr>
-<tr class="memitem:a0c52339d3cb372d145deeafb5a313807"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0c52339d3cb372d145deeafb5a313807">error_on_data_type_not_in</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor, T &&dt, Ts &&...dts)</td></tr>
-<tr class="memdesc:a0c52339d3cb372d145deeafb5a313807"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the data type of the passed tensor does not match any of the data types provided. <a href="#a0c52339d3cb372d145deeafb5a313807">More...</a><br/></td></tr>
-<tr class="separator:a0c52339d3cb372d145deeafb5a313807"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a690ce072b4480f4a5bad433f23c9fe05"><td class="memTemplParams" colspan="2">template<typename T , typename... Ts> </td></tr>
-<tr class="memitem:a690ce072b4480f4a5bad433f23c9fe05"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a690ce072b4480f4a5bad433f23c9fe05">error_on_data_type_channel_not_in</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor, size_t num_channels, T &&dt, Ts &&...dts)</td></tr>
-<tr class="memdesc:a690ce072b4480f4a5bad433f23c9fe05"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the data type or the number of channels of the passed tensor does not match any of the data types and number of channels provided. <a href="#a690ce072b4480f4a5bad433f23c9fe05">More...</a><br/></td></tr>
-<tr class="separator:a690ce072b4480f4a5bad433f23c9fe05"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a65c8e0610dff27ecf1ef30214f08d19e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a65c8e0610dff27ecf1ef30214f08d19e">error_on_tensor_not_2d</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor)</td></tr>
-<tr class="memdesc:a65c8e0610dff27ecf1ef30214f08d19e"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the tensor is not 2D. <a href="#a65c8e0610dff27ecf1ef30214f08d19e">More...</a><br/></td></tr>
-<tr class="separator:a65c8e0610dff27ecf1ef30214f08d19e"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a593d972357b3bcfeecb87207dc925417"><td class="memTemplParams" colspan="2">template<typename T , typename... Ts> </td></tr>
-<tr class="memitem:a593d972357b3bcfeecb87207dc925417"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a593d972357b3bcfeecb87207dc925417">error_on_channel_not_in</a> (const char *function, const char *file, const int line, T cn, T &&channel, Ts &&...channels)</td></tr>
-<tr class="memdesc:a593d972357b3bcfeecb87207dc925417"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the channel is not in channels. <a href="#a593d972357b3bcfeecb87207dc925417">More...</a><br/></td></tr>
-<tr class="separator:a593d972357b3bcfeecb87207dc925417"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ad0d001a84424d440f9a11fc1b80ed2ff"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad0d001a84424d440f9a11fc1b80ed2ff">error_on_channel_not_in_known_format</a> (const char *function, const char *file, const int line, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> fmt, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> cn)</td></tr>
-<tr class="memdesc:ad0d001a84424d440f9a11fc1b80ed2ff"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the channel is not in format. <a href="#ad0d001a84424d440f9a11fc1b80ed2ff">More...</a><br/></td></tr>
-<tr class="separator:ad0d001a84424d440f9a11fc1b80ed2ff"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a307666ca482a84d5a64251d78889a818"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a307666ca482a84d5a64251d78889a818">error_on_invalid_multi_hog</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> *multi_hog)</td></tr>
-<tr class="memdesc:a307666ca482a84d5a64251d78889a818"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> container is invalid. <a href="#a307666ca482a84d5a64251d78889a818">More...</a><br/></td></tr>
-<tr class="separator:a307666ca482a84d5a64251d78889a818"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a21a4884cd1dbfa83351b8efa265f526a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a21a4884cd1dbfa83351b8efa265f526a">error_on_unconfigured_kernel</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_kernel.xhtml">IKernel</a> *kernel)</td></tr>
-<tr class="memdesc:a21a4884cd1dbfa83351b8efa265f526a"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the kernel is not configured. <a href="#a21a4884cd1dbfa83351b8efa265f526a">More...</a><br/></td></tr>
-<tr class="separator:a21a4884cd1dbfa83351b8efa265f526a"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a36ffb104aed50deb360db6f3afa4c394"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a36ffb104aed50deb360db6f3afa4c394">error_on_invalid_subtensor</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &parent_shape, const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &coords, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &shape)</td></tr>
-<tr class="memdesc:a36ffb104aed50deb360db6f3afa4c394"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if if the coordinates and shape of the subtensor are within the parent tensor. <a href="#a36ffb104aed50deb360db6f3afa4c394">More...</a><br/></td></tr>
-<tr class="separator:a36ffb104aed50deb360db6f3afa4c394"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a858e835f22c359080a09709c6dd950b1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a858e835f22c359080a09709c6dd950b1">error_on_invalid_subtensor_valid_region</a> (const char *function, const char *file, const int line, const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &parent_valid_region, const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &valid_region)</td></tr>
-<tr class="memdesc:a858e835f22c359080a09709c6dd950b1"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the valid region of a subtensor is not inside the valid region of the parent tensor. <a href="#a858e835f22c359080a09709c6dd950b1">More...</a><br/></td></tr>
-<tr class="separator:a858e835f22c359080a09709c6dd950b1"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a064db352a2f4153e6237054343d5fe7a"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
-<tr class="memitem:a064db352a2f4153e6237054343d5fe7a"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a064db352a2f4153e6237054343d5fe7a">error_on_mismatching_fixed_point_position</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_2, Ts...tensors)</td></tr>
-<tr class="memdesc:a064db352a2f4153e6237054343d5fe7a"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the input fixed-point positions are different. <a href="#a064db352a2f4153e6237054343d5fe7a">More...</a><br/></td></tr>
-<tr class="separator:a064db352a2f4153e6237054343d5fe7a"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a9afdaa4d8bbb78938110ada1daf87f8b"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
-<tr class="memitem:a9afdaa4d8bbb78938110ada1daf87f8b"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9afdaa4d8bbb78938110ada1daf87f8b">error_on_value_not_representable_in_fixed_point</a> (const char *function, const char *file, int line, float <a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor)</td></tr>
-<tr class="memdesc:a9afdaa4d8bbb78938110ada1daf87f8b"><td class="mdescLeft"> </td><td class="mdescRight">Throw an error if the fixed-point value is not representable in the specified Q format. <a href="#a9afdaa4d8bbb78938110ada1daf87f8b">More...</a><br/></td></tr>
-<tr class="separator:a9afdaa4d8bbb78938110ada1daf87f8b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a774ec1fdc7bd1e7973c866d13734bc21"><td class="memTemplParams" colspan="2">template<typename T , typename... Ts> </td></tr>
+<tr class="memitem:a774ec1fdc7bd1e7973c866d13734bc21"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a774ec1fdc7bd1e7973c866d13734bc21">error_on_data_type_not_in</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info, T &&dt, Ts &&...dts)</td></tr>
+<tr class="memdesc:a774ec1fdc7bd1e7973c866d13734bc21"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the data type of the passed tensor info does not match any of the data types provided. <a href="#a774ec1fdc7bd1e7973c866d13734bc21">More...</a><br /></td></tr>
+<tr class="separator:a774ec1fdc7bd1e7973c866d13734bc21"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4ae0ca8176fce8caa48601dc8324ca97"><td class="memTemplParams" colspan="2">template<typename T , typename... Ts> </td></tr>
+<tr class="memitem:a4ae0ca8176fce8caa48601dc8324ca97"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4ae0ca8176fce8caa48601dc8324ca97">error_on_data_type_not_in</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor, T &&dt, Ts &&...dts)</td></tr>
+<tr class="memdesc:a4ae0ca8176fce8caa48601dc8324ca97"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the data type of the passed tensor does not match any of the data types provided. <a href="#a4ae0ca8176fce8caa48601dc8324ca97">More...</a><br /></td></tr>
+<tr class="separator:a4ae0ca8176fce8caa48601dc8324ca97"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a499a45039b9bba66384504843d5823d4"><td class="memTemplParams" colspan="2">template<typename T , typename... Ts> </td></tr>
+<tr class="memitem:a499a45039b9bba66384504843d5823d4"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a499a45039b9bba66384504843d5823d4">error_on_data_type_channel_not_in</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info, size_t num_channels, T &&dt, Ts &&...dts)</td></tr>
+<tr class="memdesc:a499a45039b9bba66384504843d5823d4"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the data type or the number of channels of the passed tensor info does not match any of the data types and number of channels provided. <a href="#a499a45039b9bba66384504843d5823d4">More...</a><br /></td></tr>
+<tr class="separator:a499a45039b9bba66384504843d5823d4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad3137e73dbd78133d25751abd84540d8"><td class="memTemplParams" colspan="2">template<typename T , typename... Ts> </td></tr>
+<tr class="memitem:ad3137e73dbd78133d25751abd84540d8"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad3137e73dbd78133d25751abd84540d8">error_on_data_type_channel_not_in</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor, size_t num_channels, T &&dt, Ts &&...dts)</td></tr>
+<tr class="memdesc:ad3137e73dbd78133d25751abd84540d8"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the data type or the number of channels of the passed tensor does not match any of the data types and number of channels provided. <a href="#ad3137e73dbd78133d25751abd84540d8">More...</a><br /></td></tr>
+<tr class="separator:ad3137e73dbd78133d25751abd84540d8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9f37a1ead28d12ce216e27209dae2a81"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9f37a1ead28d12ce216e27209dae2a81">error_on_tensor_not_2d</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor)</td></tr>
+<tr class="memdesc:a9f37a1ead28d12ce216e27209dae2a81"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the tensor is not 2D. <a href="#a9f37a1ead28d12ce216e27209dae2a81">More...</a><br /></td></tr>
+<tr class="separator:a9f37a1ead28d12ce216e27209dae2a81"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae7fcde610527b8fa3d9acdf398187962"><td class="memTemplParams" colspan="2">template<typename T , typename... Ts> </td></tr>
+<tr class="memitem:ae7fcde610527b8fa3d9acdf398187962"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae7fcde610527b8fa3d9acdf398187962">error_on_channel_not_in</a> (const char *function, const char *file, const int line, T cn, T &&channel, Ts &&...channels)</td></tr>
+<tr class="memdesc:ae7fcde610527b8fa3d9acdf398187962"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the channel is not in channels. <a href="#ae7fcde610527b8fa3d9acdf398187962">More...</a><br /></td></tr>
+<tr class="separator:ae7fcde610527b8fa3d9acdf398187962"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa2af31a4685af1fb5ecef784c5e96da0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa2af31a4685af1fb5ecef784c5e96da0">error_on_channel_not_in_known_format</a> (const char *function, const char *file, const int line, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> fmt, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> cn)</td></tr>
+<tr class="memdesc:aa2af31a4685af1fb5ecef784c5e96da0"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the channel is not in format. <a href="#aa2af31a4685af1fb5ecef784c5e96da0">More...</a><br /></td></tr>
+<tr class="separator:aa2af31a4685af1fb5ecef784c5e96da0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:adf16abfe081654f8bb2b9a4fee09100e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adf16abfe081654f8bb2b9a4fee09100e">error_on_invalid_multi_hog</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> *multi_hog)</td></tr>
+<tr class="memdesc:adf16abfe081654f8bb2b9a4fee09100e"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> container is invalid. <a href="#adf16abfe081654f8bb2b9a4fee09100e">More...</a><br /></td></tr>
+<tr class="separator:adf16abfe081654f8bb2b9a4fee09100e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a33278ff3c7798e50c453599576f58bd8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a33278ff3c7798e50c453599576f58bd8">error_on_unconfigured_kernel</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_kernel.xhtml">IKernel</a> *kernel)</td></tr>
+<tr class="memdesc:a33278ff3c7798e50c453599576f58bd8"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the kernel is not configured. <a href="#a33278ff3c7798e50c453599576f58bd8">More...</a><br /></td></tr>
+<tr class="separator:a33278ff3c7798e50c453599576f58bd8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7fdf77ab857ef3a644eef09389cc808d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7fdf77ab857ef3a644eef09389cc808d">error_on_invalid_subtensor</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &parent_shape, const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &coords, const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &shape)</td></tr>
+<tr class="memdesc:a7fdf77ab857ef3a644eef09389cc808d"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if if the coordinates and shape of the subtensor are within the parent tensor. <a href="#a7fdf77ab857ef3a644eef09389cc808d">More...</a><br /></td></tr>
+<tr class="separator:a7fdf77ab857ef3a644eef09389cc808d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a74dd77930a4d0ccf755c1cc648601c63"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a74dd77930a4d0ccf755c1cc648601c63">error_on_invalid_subtensor_valid_region</a> (const char *function, const char *file, const int line, const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &parent_valid_region, const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> &valid_region)</td></tr>
+<tr class="memdesc:a74dd77930a4d0ccf755c1cc648601c63"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the valid region of a subtensor is not inside the valid region of the parent tensor. <a href="#a74dd77930a4d0ccf755c1cc648601c63">More...</a><br /></td></tr>
+<tr class="separator:a74dd77930a4d0ccf755c1cc648601c63"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a82c748dc3464dfc48133fbf8f84d7240"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
+<tr class="memitem:a82c748dc3464dfc48133fbf8f84d7240"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a82c748dc3464dfc48133fbf8f84d7240">error_on_mismatching_fixed_point_position</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_1, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info_2, Ts...tensor_infos)</td></tr>
+<tr class="memdesc:a82c748dc3464dfc48133fbf8f84d7240"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the input fixed-point positions are different. <a href="#a82c748dc3464dfc48133fbf8f84d7240">More...</a><br /></td></tr>
+<tr class="separator:a82c748dc3464dfc48133fbf8f84d7240"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:adec7d6b27c9cacab7940ce67eaab4bf6"><td class="memTemplParams" colspan="2">template<typename... Ts> </td></tr>
+<tr class="memitem:adec7d6b27c9cacab7940ce67eaab4bf6"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adec7d6b27c9cacab7940ce67eaab4bf6">error_on_mismatching_fixed_point_position</a> (const char *function, const char *file, const int line, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor_2, Ts...tensors)</td></tr>
+<tr class="memdesc:adec7d6b27c9cacab7940ce67eaab4bf6"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the input fixed-point positions are different. <a href="#adec7d6b27c9cacab7940ce67eaab4bf6">More...</a><br /></td></tr>
+<tr class="separator:adec7d6b27c9cacab7940ce67eaab4bf6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a902b2c73a1317fd91a167e9d4d3f211b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a902b2c73a1317fd91a167e9d4d3f211b">error_on_value_not_representable_in_fixed_point</a> (const char *function, const char *file, int line, float <a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *tensor_info)</td></tr>
+<tr class="memdesc:a902b2c73a1317fd91a167e9d4d3f211b"><td class="mdescLeft"> </td><td class="mdescRight">Return an error if the fixed-point value is not representable in the specified Q format. <a href="#a902b2c73a1317fd91a167e9d4d3f211b">More...</a><br /></td></tr>
+<tr class="separator:a902b2c73a1317fd91a167e9d4d3f211b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad865b21069f578ddb1c65cb32f3fcaa0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad865b21069f578ddb1c65cb32f3fcaa0">error_on_value_not_representable_in_fixed_point</a> (const char *function, const char *file, int line, float <a class="el" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *tensor)</td></tr>
+<tr class="memdesc:ad865b21069f578ddb1c65cb32f3fcaa0"><td class="mdescLeft"> </td><td class="mdescRight">Return an error an error if the fixed-point value is not representable in the specified Q format. <a href="#ad865b21069f578ddb1c65cb32f3fcaa0">More...</a><br /></td></tr>
+<tr class="separator:ad865b21069f578ddb1c65cb32f3fcaa0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa5191117dc677a74552769b87131b1b6"><td class="memItemLeft" align="right" valign="top">const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa5191117dc677a74552769b87131b1b6">string_from_scheduler_type</a> (<a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7">Scheduler::Type</a> t)</td></tr>
-<tr class="memdesc:aa5191117dc677a74552769b87131b1b6"><td class="mdescLeft"> </td><td class="mdescRight">Convert a <a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7">Scheduler::Type</a> into a string. <a href="#aa5191117dc677a74552769b87131b1b6">More...</a><br/></td></tr>
+<tr class="memdesc:aa5191117dc677a74552769b87131b1b6"><td class="mdescLeft"> </td><td class="mdescRight">Convert a <a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7">Scheduler::Type</a> into a string. <a href="#aa5191117dc677a74552769b87131b1b6">More...</a><br /></td></tr>
<tr class="separator:aa5191117dc677a74552769b87131b1b6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1379e5f8a8b4640d7a52d901f0539ccd"><td class="memItemLeft" align="right" valign="top">inline::std::istream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1379e5f8a8b4640d7a52d901f0539ccd">operator>></a> (::std::istream &is, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> &mode)</td></tr>
-<tr class="memdesc:a1379e5f8a8b4640d7a52d901f0539ccd"><td class="mdescLeft"> </td><td class="mdescRight">Formatted input of the BorderMode type. <a href="#a1379e5f8a8b4640d7a52d901f0539ccd">More...</a><br/></td></tr>
+<tr class="memdesc:a1379e5f8a8b4640d7a52d901f0539ccd"><td class="mdescLeft"> </td><td class="mdescRight">Formatted input of the BorderMode type. <a href="#a1379e5f8a8b4640d7a52d901f0539ccd">More...</a><br /></td></tr>
<tr class="separator:a1379e5f8a8b4640d7a52d901f0539ccd"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a18d43401e8f84ed020429b41ec4e99f5"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
<tr class="memitem:a18d43401e8f84ed020429b41ec4e99f5"><td class="memTemplItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a18d43401e8f84ed020429b41ec4e99f5">operator<<</a> (::std::ostream &os, const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>< T > &dimensions)</td></tr>
-<tr class="memdesc:a18d43401e8f84ed020429b41ec4e99f5"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> type. <a href="#a18d43401e8f84ed020429b41ec4e99f5">More...</a><br/></td></tr>
+<tr class="memdesc:a18d43401e8f84ed020429b41ec4e99f5"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> type. <a href="#a18d43401e8f84ed020429b41ec4e99f5">More...</a><br /></td></tr>
<tr class="separator:a18d43401e8f84ed020429b41ec4e99f5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae8c2a3451bcf739a75aa7438e7a78d45"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae8c2a3451bcf739a75aa7438e7a78d45">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> &function)</td></tr>
-<tr class="memdesc:ae8c2a3451bcf739a75aa7438e7a78d45"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the NonLinearFilterFunction type. <a href="#ae8c2a3451bcf739a75aa7438e7a78d45">More...</a><br/></td></tr>
+<tr class="memdesc:ae8c2a3451bcf739a75aa7438e7a78d45"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the NonLinearFilterFunction type. <a href="#ae8c2a3451bcf739a75aa7438e7a78d45">More...</a><br /></td></tr>
<tr class="separator:ae8c2a3451bcf739a75aa7438e7a78d45"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aabe16be22edb41656e66ed9eae3b69e6"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aabe16be22edb41656e66ed9eae3b69e6">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> &function)</td></tr>
<tr class="separator:aabe16be22edb41656e66ed9eae3b69e6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:acec416ec5af175a7aad47a518fefb770"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acec416ec5af175a7aad47a518fefb770">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> &pattern)</td></tr>
-<tr class="memdesc:acec416ec5af175a7aad47a518fefb770"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the MatrixPattern type. <a href="#acec416ec5af175a7aad47a518fefb770">More...</a><br/></td></tr>
+<tr class="memdesc:acec416ec5af175a7aad47a518fefb770"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the MatrixPattern type. <a href="#acec416ec5af175a7aad47a518fefb770">More...</a><br /></td></tr>
<tr class="separator:acec416ec5af175a7aad47a518fefb770"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a27f0ebddef1b83e0ac31c7a7a23a8d36"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a27f0ebddef1b83e0ac31c7a7a23a8d36">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> &pattern)</td></tr>
<tr class="separator:a27f0ebddef1b83e0ac31c7a7a23a8d36"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a295edc9f8caf95838db2c5e251153514"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a295edc9f8caf95838db2c5e251153514">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> &rounding_policy)</td></tr>
-<tr class="memdesc:a295edc9f8caf95838db2c5e251153514"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the RoundingPolicy type. <a href="#a295edc9f8caf95838db2c5e251153514">More...</a><br/></td></tr>
+<tr class="memdesc:a295edc9f8caf95838db2c5e251153514"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the RoundingPolicy type. <a href="#a295edc9f8caf95838db2c5e251153514">More...</a><br /></td></tr>
<tr class="separator:a295edc9f8caf95838db2c5e251153514"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5972c7131d378f567af9c2961f088a0b"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5972c7131d378f567af9c2961f088a0b">operator<<</a> (::std::ostream &os, const <a class="el" href="classarm__compute_1_1_weights_info.xhtml">WeightsInfo</a> &weights_info)</td></tr>
-<tr class="memdesc:a5972c7131d378f567af9c2961f088a0b"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_weights_info.xhtml" title="Convolution Layer Weights Information class. ">WeightsInfo</a> type. <a href="#a5972c7131d378f567af9c2961f088a0b">More...</a><br/></td></tr>
+<tr class="memdesc:a5972c7131d378f567af9c2961f088a0b"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_weights_info.xhtml" title="Convolution Layer Weights Information class. ">WeightsInfo</a> type. <a href="#a5972c7131d378f567af9c2961f088a0b">More...</a><br /></td></tr>
<tr class="separator:a5972c7131d378f567af9c2961f088a0b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a352b805b77fde4f32f44af271580677b"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a352b805b77fde4f32f44af271580677b">operator<<</a> (::std::ostream &os, const <a class="el" href="classarm__compute_1_1_r_o_i_pooling_layer_info.xhtml">ROIPoolingLayerInfo</a> &pool_info)</td></tr>
-<tr class="memdesc:a352b805b77fde4f32f44af271580677b"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the ROIPoolingInfo type. <a href="#a352b805b77fde4f32f44af271580677b">More...</a><br/></td></tr>
+<tr class="memdesc:a352b805b77fde4f32f44af271580677b"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the ROIPoolingInfo type. <a href="#a352b805b77fde4f32f44af271580677b">More...</a><br /></td></tr>
<tr class="separator:a352b805b77fde4f32f44af271580677b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a32a5556a927543fe57c0d7b82c20e9b4"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a32a5556a927543fe57c0d7b82c20e9b4">operator<<</a> (::std::ostream &os, const <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> &quantization_info)</td></tr>
+<tr class="memdesc:a32a5556a927543fe57c0d7b82c20e9b4"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_quantization_info.xhtml" title="Quantization settings (used for QASYMM8 data type) ">QuantizationInfo</a> type. <a href="#a32a5556a927543fe57c0d7b82c20e9b4">More...</a><br /></td></tr>
+<tr class="separator:a32a5556a927543fe57c0d7b82c20e9b4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad9fd48b3c01116b217a684aaeaf8b24f"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad9fd48b3c01116b217a684aaeaf8b24f">to_string</a> (const <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> &quantization_info)</td></tr>
+<tr class="separator:ad9fd48b3c01116b217a684aaeaf8b24f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2abb76fe917828983d666628badab08d"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2abb76fe917828983d666628badab08d">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">FixedPointOp</a> &op)</td></tr>
<tr class="separator:a2abb76fe917828983d666628badab08d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3d4684c886b4d13ce004cd6d7fcea9b1"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3d4684c886b4d13ce004cd6d7fcea9b1">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">FixedPointOp</a> &op)</td></tr>
<tr class="separator:a3d4684c886b4d13ce004cd6d7fcea9b1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9d79efe2673aeb3f9a9160b6a78de50c"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9d79efe2673aeb3f9a9160b6a78de50c">operator<<</a> (::std::ostream &os, const <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9ea">ActivationLayerInfo::ActivationFunction</a> &act_function)</td></tr>
-<tr class="memdesc:a9d79efe2673aeb3f9a9160b6a78de50c"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the activation function type. <a href="#a9d79efe2673aeb3f9a9160b6a78de50c">More...</a><br/></td></tr>
+<tr class="memdesc:a9d79efe2673aeb3f9a9160b6a78de50c"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the activation function type. <a href="#a9d79efe2673aeb3f9a9160b6a78de50c">More...</a><br /></td></tr>
<tr class="separator:a9d79efe2673aeb3f9a9160b6a78de50c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a72626d2cca3922127c41526e37e9e623"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a72626d2cca3922127c41526e37e9e623">to_string</a> (const <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml">arm_compute::ActivationLayerInfo</a> &info)</td></tr>
<tr class="separator:a72626d2cca3922127c41526e37e9e623"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8a18c453150ab547c1add44b3ed3bc56"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8a18c453150ab547c1add44b3ed3bc56">to_string</a> (const <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9ea">arm_compute::ActivationLayerInfo::ActivationFunction</a> &function)</td></tr>
<tr class="separator:a8a18c453150ab547c1add44b3ed3bc56"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2ab7370aab6e5698990c50c8871fa6fb"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2ab7370aab6e5698990c50c8871fa6fb">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> &norm_type)</td></tr>
-<tr class="memdesc:a2ab7370aab6e5698990c50c8871fa6fb"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the NormType type. <a href="#a2ab7370aab6e5698990c50c8871fa6fb">More...</a><br/></td></tr>
+<tr class="memdesc:a2ab7370aab6e5698990c50c8871fa6fb"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the NormType type. <a href="#a2ab7370aab6e5698990c50c8871fa6fb">More...</a><br /></td></tr>
<tr class="separator:a2ab7370aab6e5698990c50c8871fa6fb"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a45dd771bdecbafb975fd267c2ae320a7"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a45dd771bdecbafb975fd267c2ae320a7">to_string</a> (const <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">arm_compute::NormalizationLayerInfo</a> &info)</td></tr>
<tr class="separator:a45dd771bdecbafb975fd267c2ae320a7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6e422c610c91f611590173cd595c94c5"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6e422c610c91f611590173cd595c94c5">operator<<</a> (::std::ostream &os, const <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a> &info)</td></tr>
-<tr class="memdesc:a6e422c610c91f611590173cd595c94c5"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a>. <a href="#a6e422c610c91f611590173cd595c94c5">More...</a><br/></td></tr>
+<tr class="memdesc:a6e422c610c91f611590173cd595c94c5"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a>. <a href="#a6e422c610c91f611590173cd595c94c5">More...</a><br /></td></tr>
<tr class="separator:a6e422c610c91f611590173cd595c94c5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a336cf1e870f467e44c184587a13feeec"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a336cf1e870f467e44c184587a13feeec">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> &pool_type)</td></tr>
-<tr class="memdesc:a336cf1e870f467e44c184587a13feeec"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the PoolingType type. <a href="#a336cf1e870f467e44c184587a13feeec">More...</a><br/></td></tr>
+<tr class="memdesc:a336cf1e870f467e44c184587a13feeec"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the PoolingType type. <a href="#a336cf1e870f467e44c184587a13feeec">More...</a><br /></td></tr>
<tr class="separator:a336cf1e870f467e44c184587a13feeec"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae72a61a2ca5c962ab1d37065e5598060"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae72a61a2ca5c962ab1d37065e5598060">operator<<</a> (::std::ostream &os, const <a class="el" href="classarm__compute_1_1_pooling_layer_info.xhtml">PoolingLayerInfo</a> &info)</td></tr>
-<tr class="memdesc:ae72a61a2ca5c962ab1d37065e5598060"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of <a class="el" href="classarm__compute_1_1_pooling_layer_info.xhtml">PoolingLayerInfo</a>. <a href="#ae72a61a2ca5c962ab1d37065e5598060">More...</a><br/></td></tr>
+<tr class="memdesc:ae72a61a2ca5c962ab1d37065e5598060"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of <a class="el" href="classarm__compute_1_1_pooling_layer_info.xhtml">PoolingLayerInfo</a>. <a href="#ae72a61a2ca5c962ab1d37065e5598060">More...</a><br /></td></tr>
<tr class="separator:ae72a61a2ca5c962ab1d37065e5598060"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a25dac68b6321b9e53027e79222a0eb7f"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a25dac68b6321b9e53027e79222a0eb7f">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> &rounding_policy)</td></tr>
+<tr class="separator:a25dac68b6321b9e53027e79222a0eb7f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a685af15532d70b8682bcc52f06f034f9"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a685af15532d70b8682bcc52f06f034f9">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &data_type)</td></tr>
-<tr class="memdesc:a685af15532d70b8682bcc52f06f034f9"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the DataType type. <a href="#a685af15532d70b8682bcc52f06f034f9">More...</a><br/></td></tr>
+<tr class="memdesc:a685af15532d70b8682bcc52f06f034f9"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the DataType type. <a href="#a685af15532d70b8682bcc52f06f034f9">More...</a><br /></td></tr>
<tr class="separator:a685af15532d70b8682bcc52f06f034f9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a96b47511b549b48d2ead05b5c757ccc9"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a96b47511b549b48d2ead05b5c757ccc9">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a> &data_type)</td></tr>
<tr class="separator:a96b47511b549b48d2ead05b5c757ccc9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3b22e54b0ac0204c3b89aebcd695fa03"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3b22e54b0ac0204c3b89aebcd695fa03">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &format)</td></tr>
-<tr class="memdesc:a3b22e54b0ac0204c3b89aebcd695fa03"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the Format type. <a href="#a3b22e54b0ac0204c3b89aebcd695fa03">More...</a><br/></td></tr>
+<tr class="memdesc:a3b22e54b0ac0204c3b89aebcd695fa03"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the Format type. <a href="#a3b22e54b0ac0204c3b89aebcd695fa03">More...</a><br /></td></tr>
<tr class="separator:a3b22e54b0ac0204c3b89aebcd695fa03"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab0e6381843dc9901bb59285ec846dc5d"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab0e6381843dc9901bb59285ec846dc5d">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &format)</td></tr>
<tr class="separator:ab0e6381843dc9901bb59285ec846dc5d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa66be15c012986ebd4c1934b97e08a36"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa66be15c012986ebd4c1934b97e08a36">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> &channel)</td></tr>
-<tr class="memdesc:aa66be15c012986ebd4c1934b97e08a36"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the Channel type. <a href="#aa66be15c012986ebd4c1934b97e08a36">More...</a><br/></td></tr>
+<tr class="memdesc:aa66be15c012986ebd4c1934b97e08a36"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the Channel type. <a href="#aa66be15c012986ebd4c1934b97e08a36">More...</a><br /></td></tr>
<tr class="separator:aa66be15c012986ebd4c1934b97e08a36"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7929032d41d5f23cd1778a70508d0219"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7929032d41d5f23cd1778a70508d0219">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> &mode)</td></tr>
-<tr class="memdesc:a7929032d41d5f23cd1778a70508d0219"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the BorderMode type. <a href="#a7929032d41d5f23cd1778a70508d0219">More...</a><br/></td></tr>
+<tr class="memdesc:a7929032d41d5f23cd1778a70508d0219"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the BorderMode type. <a href="#a7929032d41d5f23cd1778a70508d0219">More...</a><br /></td></tr>
<tr class="separator:a7929032d41d5f23cd1778a70508d0219"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af32c4c5cdd0efde09774eb803bc8a0bd"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af32c4c5cdd0efde09774eb803bc8a0bd">operator<<</a> (::std::ostream &os, const <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> &border)</td></tr>
-<tr class="memdesc:af32c4c5cdd0efde09774eb803bc8a0bd"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_border_size.xhtml" title="Container for 2D border size. ">BorderSize</a> type. <a href="#af32c4c5cdd0efde09774eb803bc8a0bd">More...</a><br/></td></tr>
+<tr class="memdesc:af32c4c5cdd0efde09774eb803bc8a0bd"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_border_size.xhtml" title="Container for 2D border size. ">BorderSize</a> type. <a href="#af32c4c5cdd0efde09774eb803bc8a0bd">More...</a><br /></td></tr>
<tr class="separator:af32c4c5cdd0efde09774eb803bc8a0bd"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a509047aefc691398f1bb60b1f967a98b"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a509047aefc691398f1bb60b1f967a98b">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> &policy)</td></tr>
-<tr class="memdesc:a509047aefc691398f1bb60b1f967a98b"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the InterpolationPolicy type. <a href="#a509047aefc691398f1bb60b1f967a98b">More...</a><br/></td></tr>
+<tr class="memdesc:a509047aefc691398f1bb60b1f967a98b"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the InterpolationPolicy type. <a href="#a509047aefc691398f1bb60b1f967a98b">More...</a><br /></td></tr>
<tr class="separator:a509047aefc691398f1bb60b1f967a98b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aab8eb6dc1ba89bb8a69f1c3845988a2b"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aab8eb6dc1ba89bb8a69f1c3845988a2b">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">SamplingPolicy</a> &policy)</td></tr>
+<tr class="memdesc:aab8eb6dc1ba89bb8a69f1c3845988a2b"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the SamplingPolicy type. <a href="#aab8eb6dc1ba89bb8a69f1c3845988a2b">More...</a><br /></td></tr>
+<tr class="separator:aab8eb6dc1ba89bb8a69f1c3845988a2b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a48fd5e28bdb4975c141841f0b96f8707"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a48fd5e28bdb4975c141841f0b96f8707">to_string</a> (const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> &info)</td></tr>
+<tr class="memdesc:a48fd5e28bdb4975c141841f0b96f8707"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_tensor_info.xhtml" title="Store the tensor's metadata. ">TensorInfo</a> type. <a href="#a48fd5e28bdb4975c141841f0b96f8707">More...</a><br /></td></tr>
+<tr class="separator:a48fd5e28bdb4975c141841f0b96f8707"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa32488ee1dd78e0464ed23e8cc2b6e49"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
<tr class="memitem:aa32488ee1dd78e0464ed23e8cc2b6e49"><td class="memTemplItemLeft" align="right" valign="top">std::string </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa32488ee1dd78e0464ed23e8cc2b6e49">to_string</a> (const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>< T > &dimensions)</td></tr>
<tr class="separator:aa32488ee1dd78e0464ed23e8cc2b6e49"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1c4486f45128be7156e38e6dea345a16"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1c4486f45128be7156e38e6dea345a16">to_string</a> (const <a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> &stride)</td></tr>
<tr class="separator:a1c4486f45128be7156e38e6dea345a16"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9d9b56d1b106b79fc5c5411372222d0f"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9d9b56d1b106b79fc5c5411372222d0f">to_string</a> (const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> &shape)</td></tr>
-<tr class="memdesc:a9d9b56d1b106b79fc5c5411372222d0f"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml" title="Shape of a tensor. ">TensorShape</a> type. <a href="#a9d9b56d1b106b79fc5c5411372222d0f">More...</a><br/></td></tr>
+<tr class="memdesc:a9d9b56d1b106b79fc5c5411372222d0f"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml" title="Shape of a tensor. ">TensorShape</a> type. <a href="#a9d9b56d1b106b79fc5c5411372222d0f">More...</a><br /></td></tr>
<tr class="separator:a9d9b56d1b106b79fc5c5411372222d0f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a805a74997e303d29108845956a674387"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a805a74997e303d29108845956a674387">to_string</a> (const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &coord)</td></tr>
-<tr class="memdesc:a805a74997e303d29108845956a674387"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a> type. <a href="#a805a74997e303d29108845956a674387">More...</a><br/></td></tr>
+<tr class="memdesc:a805a74997e303d29108845956a674387"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a> type. <a href="#a805a74997e303d29108845956a674387">More...</a><br /></td></tr>
<tr class="separator:a805a74997e303d29108845956a674387"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a17881750c427aedd95deba46a4366ace"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a17881750c427aedd95deba46a4366ace">operator<<</a> (::std::ostream &os, const <a class="el" href="structarm__compute_1_1_rectangle.xhtml">Rectangle</a> &rect)</td></tr>
-<tr class="memdesc:a17881750c427aedd95deba46a4366ace"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_rectangle.xhtml" title="Rectangle type. ">Rectangle</a> type. <a href="#a17881750c427aedd95deba46a4366ace">More...</a><br/></td></tr>
+<tr class="memdesc:a17881750c427aedd95deba46a4366ace"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_rectangle.xhtml" title="Rectangle type. ">Rectangle</a> type. <a href="#a17881750c427aedd95deba46a4366ace">More...</a><br /></td></tr>
<tr class="separator:a17881750c427aedd95deba46a4366ace"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8af36ae3a3613112c3a95e57f606359a"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a8af36ae3a3613112c3a95e57f606359a">operator<<</a> (::std::ostream &os, const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> &pad_stride_info)</td></tr>
-<tr class="memdesc:a8af36ae3a3613112c3a95e57f606359a"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the PadStridInfo type. <a href="#a8af36ae3a3613112c3a95e57f606359a">More...</a><br/></td></tr>
+<tr class="memdesc:a8af36ae3a3613112c3a95e57f606359a"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the PadStridInfo type. <a href="#a8af36ae3a3613112c3a95e57f606359a">More...</a><br /></td></tr>
<tr class="separator:a8af36ae3a3613112c3a95e57f606359a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2c0e6c1c4cf10da25e7a7362ba151ba2"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2c0e6c1c4cf10da25e7a7362ba151ba2">to_string</a> (const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> &pad_stride_info)</td></tr>
<tr class="separator:a2c0e6c1c4cf10da25e7a7362ba151ba2"><td class="memSeparator" colspan="2"> </td></tr>
@@ -3209,13 +3643,15 @@
<tr class="separator:a5c9cde9144eaeceaf086377b9bc5a5be"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a94bd78942b683c05cba85048537d3ee7"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a94bd78942b683c05cba85048537d3ee7">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> &policy)</td></tr>
<tr class="separator:a94bd78942b683c05cba85048537d3ee7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5b8e815072ae54278cb1c91e254be4d3"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a5b8e815072ae54278cb1c91e254be4d3">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">SamplingPolicy</a> &policy)</td></tr>
+<tr class="separator:a5b8e815072ae54278cb1c91e254be4d3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4287c6842a60e5f6bf309e55f8813527"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4287c6842a60e5f6bf309e55f8813527">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a> &policy)</td></tr>
-<tr class="memdesc:a4287c6842a60e5f6bf309e55f8813527"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the ConversionPolicy type. <a href="#a4287c6842a60e5f6bf309e55f8813527">More...</a><br/></td></tr>
+<tr class="memdesc:a4287c6842a60e5f6bf309e55f8813527"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the ConversionPolicy type. <a href="#a4287c6842a60e5f6bf309e55f8813527">More...</a><br /></td></tr>
<tr class="separator:a4287c6842a60e5f6bf309e55f8813527"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:adcc7e107e7dbd2ffac02189089c33e4f"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#adcc7e107e7dbd2ffac02189089c33e4f">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a> &policy)</td></tr>
<tr class="separator:adcc7e107e7dbd2ffac02189089c33e4f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a292505a0ec686541cfe0dcfd1d651ec5"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a292505a0ec686541cfe0dcfd1d651ec5">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">ReductionOperation</a> &op)</td></tr>
-<tr class="memdesc:a292505a0ec686541cfe0dcfd1d651ec5"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the Reduction Operations. <a href="#a292505a0ec686541cfe0dcfd1d651ec5">More...</a><br/></td></tr>
+<tr class="memdesc:a292505a0ec686541cfe0dcfd1d651ec5"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the Reduction Operations. <a href="#a292505a0ec686541cfe0dcfd1d651ec5">More...</a><br /></td></tr>
<tr class="separator:a292505a0ec686541cfe0dcfd1d651ec5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aae534105c7ea67999ccbb34a0ed567cd"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aae534105c7ea67999ccbb34a0ed567cd">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">ReductionOperation</a> &op)</td></tr>
<tr class="separator:aae534105c7ea67999ccbb34a0ed567cd"><td class="memSeparator" colspan="2"> </td></tr>
@@ -3226,8 +3662,23 @@
<tr class="memitem:acef515348c5f7f73c89aa4b8a47a02bc"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#acef515348c5f7f73c89aa4b8a47a02bc">to_string</a> (const <a class="el" href="classarm__compute_1_1_pooling_layer_info.xhtml">PoolingLayerInfo</a> &info)</td></tr>
<tr class="separator:acef515348c5f7f73c89aa4b8a47a02bc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9a2e48a508dc85b7280f955876bb4462"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a9a2e48a508dc85b7280f955876bb4462">operator<<</a> (::std::ostream &os, const <a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a> &point)</td></tr>
-<tr class="memdesc:a9a2e48a508dc85b7280f955876bb4462"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_key_point.xhtml" title="Keypoint type. ">KeyPoint</a> type. <a href="#a9a2e48a508dc85b7280f955876bb4462">More...</a><br/></td></tr>
+<tr class="memdesc:a9a2e48a508dc85b7280f955876bb4462"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the <a class="el" href="structarm__compute_1_1_key_point.xhtml" title="Keypoint type. ">KeyPoint</a> type. <a href="#a9a2e48a508dc85b7280f955876bb4462">More...</a><br /></td></tr>
<tr class="separator:a9a2e48a508dc85b7280f955876bb4462"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abe52a76af2aa88876d54ce8a5969e509"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#abe52a76af2aa88876d54ce8a5969e509">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">PhaseType</a> &phase_type)</td></tr>
+<tr class="memdesc:abe52a76af2aa88876d54ce8a5969e509"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the PhaseType type. <a href="#abe52a76af2aa88876d54ce8a5969e509">More...</a><br /></td></tr>
+<tr class="separator:abe52a76af2aa88876d54ce8a5969e509"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae4ead564f3c96ea5f1ec7fe035b941f3"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ae4ead564f3c96ea5f1ec7fe035b941f3">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">arm_compute::PhaseType</a> &type)</td></tr>
+<tr class="separator:ae4ead564f3c96ea5f1ec7fe035b941f3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a530d86eec3dbd22cab6336ffdceb0d37"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a530d86eec3dbd22cab6336ffdceb0d37">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">MagnitudeType</a> &magnitude_type)</td></tr>
+<tr class="memdesc:a530d86eec3dbd22cab6336ffdceb0d37"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the MagnitudeType type. <a href="#a530d86eec3dbd22cab6336ffdceb0d37">More...</a><br /></td></tr>
+<tr class="separator:a530d86eec3dbd22cab6336ffdceb0d37"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a42e6f8761f01b5846f56c3b8025c8c0a"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a42e6f8761f01b5846f56c3b8025c8c0a">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">arm_compute::MagnitudeType</a> &type)</td></tr>
+<tr class="separator:a42e6f8761f01b5846f56c3b8025c8c0a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af3985189d478b45014e7dead9d002e2a"><td class="memItemLeft" align="right" valign="top">inline::std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af3985189d478b45014e7dead9d002e2a">operator<<</a> (::std::ostream &os, const <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">GradientDimension</a> &dim)</td></tr>
+<tr class="memdesc:af3985189d478b45014e7dead9d002e2a"><td class="mdescLeft"> </td><td class="mdescRight">Formatted output of the GradientDimension type. <a href="#af3985189d478b45014e7dead9d002e2a">More...</a><br /></td></tr>
+<tr class="separator:af3985189d478b45014e7dead9d002e2a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab75d8ff29ba9b398d5740b3efd156e71"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab75d8ff29ba9b398d5740b3efd156e71">to_string</a> (const <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">arm_compute::GradientDimension</a> &type)</td></tr>
+<tr class="separator:ab75d8ff29ba9b398d5740b3efd156e71"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
@@ -3237,19 +3688,22 @@
<tr class="separator:a869945609357fa552d94eb16f7aad4e9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a48fb9cf404e8f7043235bf14105c9793"><td class="memItemLeft" align="right" valign="top">const std::array< float32x4_t, 8 > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a48fb9cf404e8f7043235bf14105c9793">log_tab</a></td></tr>
<tr class="separator:a48fb9cf404e8f7043235bf14105c9793"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a2260e62edc9c3e04a06e8016136b10b1"><td class="memItemLeft" align="right" valign="top">const std::array< float16x8_t, 8 > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2260e62edc9c3e04a06e8016136b10b1">exp_tab_f16</a></td></tr>
-<tr class="separator:a2260e62edc9c3e04a06e8016136b10b1"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a0a8b2a577b2f9370e7b1c4735f007be1"><td class="memItemLeft" align="right" valign="top">const std::array< float16x8_t, 8 > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0a8b2a577b2f9370e7b1c4735f007be1">log_tab_f16</a></td></tr>
-<tr class="separator:a0a8b2a577b2f9370e7b1c4735f007be1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3fed059965fe44cbe7ed4091d6b63acf"><td class="memItemLeft" align="right" valign="top">constexpr uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a3fed059965fe44cbe7ed4091d6b63acf">CONSTANT_BORDER_VALUE</a> = 199</td></tr>
-<tr class="memdesc:a3fed059965fe44cbe7ed4091d6b63acf"><td class="mdescLeft"> </td><td class="mdescRight">Constant value of the border pixels when using <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92" title="Pixels outside the image are assumed to have a constant value. ">BorderMode::CONSTANT</a>. <a href="#a3fed059965fe44cbe7ed4091d6b63acf">More...</a><br/></td></tr>
+<tr class="memdesc:a3fed059965fe44cbe7ed4091d6b63acf"><td class="mdescLeft"> </td><td class="mdescRight">Constant value of the border pixels when using <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92" title="Pixels outside the image are assumed to have a constant value. ">BorderMode::CONSTANT</a>. <a href="#a3fed059965fe44cbe7ed4091d6b63acf">More...</a><br /></td></tr>
<tr class="separator:a3fed059965fe44cbe7ed4091d6b63acf"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af9876aedd664cac0ddeacddb40cb71cd"><td class="memItemLeft" align="right" valign="top">constexpr float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#af9876aedd664cac0ddeacddb40cb71cd">SCALE_PYRAMID_HALF</a> = 0.5f</td></tr>
<tr class="separator:af9876aedd664cac0ddeacddb40cb71cd"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2ebcd5423d5fba468e7debd2e1aabe91"><td class="memItemLeft" align="right" valign="top">constexpr float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2ebcd5423d5fba468e7debd2e1aabe91">SCALE_PYRAMID_ORB</a> = 8.408964152537146130583778358414e-01</td></tr>
<tr class="separator:a2ebcd5423d5fba468e7debd2e1aabe91"><td class="memSeparator" colspan="2"> </td></tr>
</table>
-<h2 class="groupheader">Typedef Documentation</h2>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>This file contains all available output stages for GEMMLowp on OpenCL. </p>
+<p>This file contains all available output stages for GEMMLowp on NEON.</p>
+<p>In gemmlowp, the "output stage" is the process that takes a final int32 accumulator value (the output of <a class="el" href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_multiply_core.xhtml">CLGEMMLowpMatrixMultiplyCore</a>), and processes it to obtain the final ASYMM8 value.</p>
+<p>More information about the GEMMLowp output stage can be found at <a href="https://github.com/google/gemmlowp/blob/master/doc/output.md">https://github.com/google/gemmlowp/blob/master/doc/output.md</a></p>
+<p>In gemmlowp, the "output stage" is the process that takes a final int32 accumulator value (the output of <a class="el" href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_multiply_core.xhtml">NEGEMMLowpMatrixMultiplyCore</a>), and processes it to obtain the final ASYMM8 value.</p>
+<p>More information about the GEMMLowp output stage can be found at <a href="https://github.com/google/gemmlowp/blob/master/doc/output.md">https://github.com/google/gemmlowp/blob/master/doc/output.md</a> </p>
+</div><h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="afcef84cf3b7d147b2b6ab0bd884afc16"></a>
<div class="memitem">
<div class="memproto">
@@ -3724,6 +4178,62 @@
</div>
</div>
+<a class="anchor" id="a10f3af894ca8b0479a5e6bc296083314"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a10f3af894ca8b0479a5e6bc296083314">GCDirectConvolutionLayer1x1Kernel</a> = <a class="el" href="classarm__compute_1_1_g_c_direct_convolution_layer_kernel.xhtml">GCDirectConvolutionLayerKernel</a><1></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="_g_c_direct_convolution_layer_kernel_8h_source.xhtml#l00083">83</a> of file <a class="el" href="_g_c_direct_convolution_layer_kernel_8h_source.xhtml">GCDirectConvolutionLayerKernel.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a35ccf8834da8b67bfb9c61fbc5e5f1e6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a35ccf8834da8b67bfb9c61fbc5e5f1e6">GCDirectConvolutionLayer3x3Kernel</a> = <a class="el" href="classarm__compute_1_1_g_c_direct_convolution_layer_kernel.xhtml">GCDirectConvolutionLayerKernel</a><3></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="_g_c_direct_convolution_layer_kernel_8h_source.xhtml#l00084">84</a> of file <a class="el" href="_g_c_direct_convolution_layer_kernel_8h_source.xhtml">GCDirectConvolutionLayerKernel.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a227e525a4d0a4da25040cfdf8a3cf06b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a227e525a4d0a4da25040cfdf8a3cf06b">GCDirectConvolutionLayer5x5Kernel</a> = <a class="el" href="classarm__compute_1_1_g_c_direct_convolution_layer_kernel.xhtml">GCDirectConvolutionLayerKernel</a><5></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="_g_c_direct_convolution_layer_kernel_8h_source.xhtml#l00085">85</a> of file <a class="el" href="_g_c_direct_convolution_layer_kernel_8h_source.xhtml">GCDirectConvolutionLayerKernel.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0b1d72d612fb6f33393ea6cd6cbcf523"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a0b1d72d612fb6f33393ea6cd6cbcf523">GCImage</a> = <a class="el" href="classarm__compute_1_1_g_c_tensor.xhtml">GCTensor</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="_g_c_tensor_8h_source.xhtml#l00097">97</a> of file <a class="el" href="_g_c_tensor_8h_source.xhtml">GCTensor.h</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="ad2398d0f2ce77c10bbebf1f85317dde5"></a>
<div class="memitem">
<div class="memproto">
@@ -3752,7 +4262,7 @@
<p>16-bit floating point type </p>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00039">39</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00043">43</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
</div>
</div>
@@ -4022,6 +4532,20 @@
</div>
</div>
+<a class="anchor" id="a39070701484fa98eaa18cfcdb6aeb175"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a39070701484fa98eaa18cfcdb6aeb175">IGCImage</a> = <a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="_i_g_c_tensor_8h_source.xhtml#l00097">97</a> of file <a class="el" href="_i_g_c_tensor_8h_source.xhtml">IGCTensor.h</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="ac20902ac1ef01783c8a8d71a9bdf1100"></a>
<div class="memitem">
<div class="memproto">
@@ -4172,7 +4696,7 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00282">282</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00336">336</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
</div>
</div>
@@ -4319,6 +4843,34 @@
</div>
</div>
+<a class="anchor" id="aff99c045b07329b332b1cb97a2dd1518"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#aff99c045b07329b332b1cb97a2dd1518">NEAccumulateWeightedFP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_accumulate_weighted_kernel.xhtml">NEAccumulateWeightedKernel</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="_n_e_accumulate_kernel_8h_source.xhtml#l00092">92</a> of file <a class="el" href="_n_e_accumulate_kernel_8h_source.xhtml">NEAccumulateKernel.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a96f7f6f98dc47e0dc3b928bf87397ebf"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a96f7f6f98dc47e0dc3b928bf87397ebf">NEBox3x3FP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_box3x3_kernel.xhtml">NEBox3x3Kernel</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="_n_e_box3x3_kernel_8h_source.xhtml#l00059">59</a> of file <a class="el" href="_n_e_box3x3_kernel_8h_source.xhtml">NEBox3x3Kernel.h</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="acf81639b3d33b5da654ef088e4d10520"></a>
<div class="memitem">
<div class="memproto">
@@ -4431,6 +4983,62 @@
</div>
</div>
+<a class="anchor" id="a593fd1da692f305db6ca306cb8e0158e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a593fd1da692f305db6ca306cb8e0158e">NEGradientFP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_gradient_kernel.xhtml">NEGradientKernel</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="_n_e_canny_edge_kernel_8h_source.xhtml#l00094">94</a> of file <a class="el" href="_n_e_canny_edge_kernel_8h_source.xhtml">NECannyEdgeKernel.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0b6679b5d5c7f7dc527258181b04cf35"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a0b6679b5d5c7f7dc527258181b04cf35">NEHarrisScoreFP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_harris_score_kernel.xhtml">NEHarrisScoreKernel</a><block_size></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="_n_e_harris_corners_kernel_8h_source.xhtml#l00123">123</a> of file <a class="el" href="_n_e_harris_corners_kernel_8h_source.xhtml">NEHarrisCornersKernel.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0d4d47f41fae07bb3efb2d723b9965c3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a0d4d47f41fae07bb3efb2d723b9965c3">NEMagnitudePhaseFP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml">NEMagnitudePhaseKernel</a><mag_type, phase_type></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="_n_e_magnitude_phase_kernel_8h_source.xhtml#l00161">161</a> of file <a class="el" href="_n_e_magnitude_phase_kernel_8h_source.xhtml">NEMagnitudePhaseKernel.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a38cad49e6beaef76bc1ec5064c9e9dba"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a38cad49e6beaef76bc1ec5064c9e9dba">NENonMaximaSuppression3x3FP16Kernel</a> = <a class="el" href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_kernel.xhtml">NENonMaximaSuppression3x3Kernel</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Definition at line <a class="el" href="_n_e_non_maxima_suppression3x3_kernel_8h_source.xhtml#l00096">96</a> of file <a class="el" href="_n_e_non_maxima_suppression3x3_kernel_8h_source.xhtml">NENonMaximaSuppression3x3Kernel.h</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a0604c803e41880a4a16408efc4e6a69b"></a>
<div class="memitem">
<div class="memproto">
@@ -4551,7 +5159,119 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00206">206</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00268">268</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a33e65be485104e2e9e69fca551d6f492"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a33e65be485104e2e9e69fca551d6f492">PermutationVector</a> = <a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Permutation vector. </p>
+
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00046">46</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab8938bcb3ec0f5f8d93285eb3a28b701"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ab8938bcb3ec0f5f8d93285eb3a28b701">qasymm8_t</a> = uint8_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>8 bit quantized asymmetric scalar value </p>
+
+<p>Definition at line <a class="el" href="_q_asymm8_8h_source.xhtml#l00030">30</a> of file <a class="el" href="_q_asymm8_8h_source.xhtml">QAsymm8.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac7e1832b8c58f07a98fc8d390b16ac27"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#ac7e1832b8c58f07a98fc8d390b16ac27">qasymm8x16_t</a> = uint8x16_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>8 bit quantized asymmetric vector with 16 elements </p>
+
+<p>Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00035">35</a> of file <a class="el" href="_n_e_asymm_8h_source.xhtml">NEAsymm.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a70ecc99f2f6b646579b58463dc026671"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a70ecc99f2f6b646579b58463dc026671">qasymm8x8_t</a> = uint8x8_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>8 bit quantized asymmetric vector with 8 elements </p>
+
+<p>Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00031">31</a> of file <a class="el" href="_n_e_asymm_8h_source.xhtml">NEAsymm.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a805d740633d70a5f0b019d72c517e67d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a805d740633d70a5f0b019d72c517e67d">qasymm8x8x2_t</a> = uint8x8x2_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>8 bit quantized asymmetric vector with 16 elements </p>
+
+<p>Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00032">32</a> of file <a class="el" href="_n_e_asymm_8h_source.xhtml">NEAsymm.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0c6e16826765130b480af53eda3635be"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a0c6e16826765130b480af53eda3635be">qasymm8x8x3_t</a> = uint8x8x3_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>8 bit quantized asymmetric vector with 24 elements </p>
+
+<p>Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00033">33</a> of file <a class="el" href="_n_e_asymm_8h_source.xhtml">NEAsymm.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a41d3460ff424e2e21c629b3f27386a8b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="namespacearm__compute.xhtml#a41d3460ff424e2e21c629b3f27386a8b">qasymm8x8x4_t</a> = uint8x8x4_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>8 bit quantized asymmetric vector with 32 elements </p>
+
+<p>Definition at line <a class="el" href="_n_e_asymm_8h_source.xhtml#l00034">34</a> of file <a class="el" href="_n_e_asymm_8h_source.xhtml">NEAsymm.h</a>.</p>
</div>
</div>
@@ -5000,18 +5720,14 @@
<p>Bilinear Interpolation method used by LKTracker. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532"></a>BILINEAR_OLD_NEW</em> </td><td class="fielddoc">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532"></a>BILINEAR_OLD_NEW </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64"></a>BILINEAR_SCHARR</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64"></a>BILINEAR_SCHARR </td><td class="fielddoc">
</td></tr>
</table>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00224">224</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00225"></a><span class="lineno"> 225</span> {</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">BILINEAR_OLD_NEW</a>,</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a></div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532"><div class="ttname"><a href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">arm_compute::BilinearInterpolation::BILINEAR_OLD_NEW</a></div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00286">286</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00287"></a><span class="lineno"> 287</span> {</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">BILINEAR_OLD_NEW</a>,</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <a class="code" href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">BILINEAR_SCHARR</a></div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532"><div class="ttname"><a href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a856d68c521c4c85363f54d95a33b7532">arm_compute::BilinearInterpolation::BILINEAR_OLD_NEW</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64"><div class="ttname"><a href="namespacearm__compute.xhtml#a2d8a00f1d80a53ce8f75fa929c873202a731cb35d2d520920db9ab20dfc5edc64">arm_compute::BilinearInterpolation::BILINEAR_SCHARR</a></div></div>
</div><!-- fragment -->
</div>
@@ -5036,24 +5752,19 @@
<p>Methods available to handle borders. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3"></a>UNDEFINED</em> </td><td class="fielddoc">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3"></a>UNDEFINED </td><td class="fielddoc">
<p>Borders are left undefined. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92"></a>CONSTANT</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92"></a>CONSTANT </td><td class="fielddoc">
<p>Pixels outside the image are assumed to have a constant value. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa"></a>REPLICATE</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa"></a>REPLICATE </td><td class="fielddoc">
<p>Pixels outside the image are assumed to have the same value as the closest image pixel. </p>
</td></tr>
</table>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00128">128</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> {</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>, </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, </div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a> </div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3"><div class="ttname"><a href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">arm_compute::BorderMode::UNDEFINED</a></div><div class="ttdoc">Borders are left undefined. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00190">190</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00191"></a><span class="lineno"> 191</span> {</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>, </div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, </div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <a class="code" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a> </div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3"><div class="ttname"><a href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">arm_compute::BorderMode::UNDEFINED</a></div><div class="ttdoc">Borders are left undefined. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa"><div class="ttname"><a href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">arm_compute::BorderMode::REPLICATE</a></div><div class="ttdoc">Pixels outside the image are assumed to have the same value as the closest image pixel. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92"><div class="ttname"><a href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">arm_compute::BorderMode::CONSTANT</a></div><div class="ttdoc">Pixels outside the image are assumed to have a constant value. </div></div>
</div><!-- fragment -->
@@ -5079,60 +5790,46 @@
<p>Available channels. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN</em> </td><td class="fielddoc">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53"></a>C0</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53"></a>C0 </td><td class="fielddoc">
<p>Unknown channel format. </p>
<p>First channel (used by formats with unknown channel types). </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1"></a>C1</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1"></a>C1 </td><td class="fielddoc">
<p>Second channel (used by formats with unknown channel types). </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4"></a>C2</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4"></a>C2 </td><td class="fielddoc">
<p>Third channel (used by formats with unknown channel types). </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c"></a>C3</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c"></a>C3 </td><td class="fielddoc">
<p>Fourth channel (used by formats with unknown channel types). </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6"></a>R</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6"></a>R </td><td class="fielddoc">
<p>Red channel. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf"></a>G</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf"></a>G </td><td class="fielddoc">
<p>Green channel. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"></a>B</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"></a>B </td><td class="fielddoc">
<p>Blue channel. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"></a>A</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"></a>A </td><td class="fielddoc">
<p>Alpha channel. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0"></a>Y</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0"></a>Y </td><td class="fielddoc">
<p>Luma channel. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb"></a>U</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb"></a>U </td><td class="fielddoc">
<p>Cb/U channel. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce"></a>V</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce"></a>V </td><td class="fielddoc">
<p>Cr/V/Value channel. </p>
</td></tr>
</table>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00316">316</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00317"></a><span class="lineno"> 317</span> {</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>, </div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>, </div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>, </div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>, </div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>, </div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>, </div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, </div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, </div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>, </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, </div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a> </div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00370">370</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00371"></a><span class="lineno"> 371</span> {</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>, </div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>, </div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>, </div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>, </div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>, </div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>, </div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, </div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, </div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>, </div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, </div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a> </div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">arm_compute::Channel::C1</a></div><div class="ttdoc">Second channel (used by formats with unknown channel types). </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">arm_compute::Channel::V</a></div><div class="ttdoc">Cr/V/Value channel. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a></div><div class="ttdoc">Blue channel. </div></div>
@@ -5165,27 +5862,20 @@
</table>
</div><div class="memdoc">
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a"></a>CL10</em> </td><td class="fielddoc">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a"></a>CL10 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3"></a>CL11</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3"></a>CL11 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675"></a>CL12</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675"></a>CL12 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab"></a>CL20</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab"></a>CL20 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN </td><td class="fielddoc">
</td></tr>
</table>
<p>Definition at line <a class="el" href="_c_l_types_8h_source.xhtml#l00047">47</a> of file <a class="el" href="_c_l_types_8h_source.xhtml">CLTypes.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> {</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a">CL10</a>, <span class="comment">/* the OpenCL 1.0 */</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3">CL11</a>, <span class="comment">/* the OpenCL 1.1 */</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675">CL12</a>, <span class="comment">/* the OpenCL 1.2 */</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab">CL20</a>, <span class="comment">/* the OpenCL 2.0 and above */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a> <span class="comment">/* unkown version */</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab">arm_compute::CLVersion::CL20</a></div></div>
+<div class="fragment"><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> {</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a">CL10</a>, <span class="comment">/* the OpenCL 1.0 */</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3">CL11</a>, <span class="comment">/* the OpenCL 1.1 */</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675">CL12</a>, <span class="comment">/* the OpenCL 1.2 */</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab">CL20</a>, <span class="comment">/* the OpenCL 2.0 and above */</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a> <span class="comment">/* unkown version */</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52eaba90edbc644c32afa8a7e36e87735aab">arm_compute::CLVersion::CL20</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ead7beedb1bf6bfae8111da26424266675">arm_compute::CLVersion::CL12</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea06e5b2cbe2f75bb5eec32613499cf22a">arm_compute::CLVersion::CL10</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea80e95ed62d0c47e4d8c0696d467d4db3">arm_compute::CLVersion::CL11</a></div></div>
@@ -5213,20 +5903,16 @@
<p>Policy to handle overflow. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0"></a>WRAP</em> </td><td class="fielddoc">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0"></a>WRAP </td><td class="fielddoc">
<p>Wrap around. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86"></a>SATURATE</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86"></a>SATURATE </td><td class="fielddoc">
<p>Saturate. </p>
</td></tr>
</table>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00209">209</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> {</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>, </div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a> </div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0"><div class="ttname"><a href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">arm_compute::ConvertPolicy::WRAP</a></div><div class="ttdoc">Wrap around. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00271">271</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00272"></a><span class="lineno"> 272</span> {</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>, </div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <a class="code" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a> </div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0"><div class="ttname"><a href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">arm_compute::ConvertPolicy::WRAP</a></div><div class="ttdoc">Wrap around. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86"><div class="ttname"><a href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">arm_compute::ConvertPolicy::SATURATE</a></div><div class="ttdoc">Saturate. </div></div>
</div><!-- fragment -->
</div>
@@ -5251,61 +5937,42 @@
<p>Available CPU Targets. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da7bb4605304408687bbcfe83a1c85c5d2"></a>ARCH_MASK</em> </td><td class="fielddoc">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da7bb4605304408687bbcfe83a1c85c5d2"></a>ARCH_MASK </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da189a7dee91b2b03205881c665cfc9ac5"></a>CPU_MODEL</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da189a7dee91b2b03205881c665cfc9ac5"></a>CPU_MODEL </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853dac945a6a364e6bb4138f727c809f1ba22"></a>INTRINSICS</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853dac945a6a364e6bb4138f727c809f1ba22"></a>INTRINSICS </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da45a830a4c6240ac27c392266589a630c"></a>ARMV7</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da45a830a4c6240ac27c392266589a630c"></a>ARMV7 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853dae756f50f85aff43114661560586b0cdd"></a>ARMV8</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853dae756f50f85aff43114661560586b0cdd"></a>ARMV8 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da3d16766c34a116d6c2a9c5bc116f8f3d"></a>ARMV8_2</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da3d16766c34a116d6c2a9c5bc116f8f3d"></a>ARMV8_2 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da2e661c06783635c6781ed83ba9091a0e"></a>A7x</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da2e661c06783635c6781ed83ba9091a0e"></a>A7x </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da58cf3eba9701a090bfa99b54df20eced"></a>A5x</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da58cf3eba9701a090bfa99b54df20eced"></a>A5x </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782"></a>DOT</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782"></a>DOT </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853daecf3e2493afebcfefb0b9b86bd50ef0d"></a>A53</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853daecf3e2493afebcfefb0b9b86bd50ef0d"></a>A53 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da83a0ae9a921c5de44da55ab444611649"></a>A55</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da83a0ae9a921c5de44da55ab444611649"></a>A55 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da8a2396eb11e41f727e6cdaa783d7d893"></a>A55_DOT</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da8a2396eb11e41f727e6cdaa783d7d893"></a>A55_DOT </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da05f60b9c3ca8212c8ebeb166d58bc937"></a>A72</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da05f60b9c3ca8212c8ebeb166d58bc937"></a>A72 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853daaf79f683ceaea4650b20e898d6c4c373"></a>A73</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853daaf79f683ceaea4650b20e898d6c4c373"></a>A73 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853dadb48626fe69fc2fa2191287510a76831"></a>A75</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853dadb48626fe69fc2fa2191287510a76831"></a>A75 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da3ccaa97eef88d0725900d73d2c54aa15"></a>A75_DOT</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a5bc939238e1f14a4c39aaee8186a853da3ccaa97eef88d0725900d73d2c54aa15"></a>A75_DOT </td><td class="fielddoc">
</td></tr>
</table>
<p>Definition at line <a class="el" href="_c_p_p_types_8h_source.xhtml#l00030">30</a> of file <a class="el" href="_c_p_p_types_8h_source.xhtml">CPPTypes.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> {</div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da7bb4605304408687bbcfe83a1c85c5d2">ARCH_MASK</a> = 0x0F00,</div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da189a7dee91b2b03205881c665cfc9ac5">CPU_MODEL</a> = 0x00FF,</div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dac945a6a364e6bb4138f727c809f1ba22">INTRINSICS</a> = 0x0100,</div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da45a830a4c6240ac27c392266589a630c">ARMV7</a> = 0x0200,</div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dae756f50f85aff43114661560586b0cdd">ARMV8</a> = 0x0300,</div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da3d16766c34a116d6c2a9c5bc116f8f3d">ARMV8_2</a> = 0x0400,</div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da2e661c06783635c6781ed83ba9091a0e">A7x</a> = 0x0070,</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da58cf3eba9701a090bfa99b54df20eced">A5x</a> = 0x0050,</div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782">DOT</a> = 0x1000,</div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853daecf3e2493afebcfefb0b9b86bd50ef0d">A53</a> = (<a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dae756f50f85aff43114661560586b0cdd">ARMV8</a> | <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da2e661c06783635c6781ed83ba9091a0e">A7x</a> | 0x3),</div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  A55 = (ARMV8_2 | A5x | 0x5),</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da8a2396eb11e41f727e6cdaa783d7d893">A55_DOT</a> = (<a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da83a0ae9a921c5de44da55ab444611649">A55</a> | <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782">DOT</a>),</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  A72 = (ARMV8 | A7x | 0x2),</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853daaf79f683ceaea4650b20e898d6c4c373">A73</a> = (<a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dae756f50f85aff43114661560586b0cdd">ARMV8</a> | <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da2e661c06783635c6781ed83ba9091a0e">A7x</a> | 0x3),</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  A75 = (ARMV8_2 | A7x | 0x5),</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da3ccaa97eef88d0725900d73d2c54aa15">A75_DOT</a> = (<a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dadb48626fe69fc2fa2191287510a76831">A75</a> | <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782">DOT</a>),</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853da45a830a4c6240ac27c392266589a630c"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da45a830a4c6240ac27c392266589a630c">arm_compute::CPUTarget::ARMV7</a></div></div>
+<div class="fragment"><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> {</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da7bb4605304408687bbcfe83a1c85c5d2">ARCH_MASK</a> = 0x0F00,</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da189a7dee91b2b03205881c665cfc9ac5">CPU_MODEL</a> = 0x00FF,</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dac945a6a364e6bb4138f727c809f1ba22">INTRINSICS</a> = 0x0100,</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da45a830a4c6240ac27c392266589a630c">ARMV7</a> = 0x0200,</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dae756f50f85aff43114661560586b0cdd">ARMV8</a> = 0x0300,</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da3d16766c34a116d6c2a9c5bc116f8f3d">ARMV8_2</a> = 0x0400,</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da2e661c06783635c6781ed83ba9091a0e">A7x</a> = 0x0070,</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da58cf3eba9701a090bfa99b54df20eced">A5x</a> = 0x0050,</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782">DOT</a> = 0x1000,</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853daecf3e2493afebcfefb0b9b86bd50ef0d">A53</a> = (<a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dae756f50f85aff43114661560586b0cdd">ARMV8</a> | <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da2e661c06783635c6781ed83ba9091a0e">A7x</a> | 0x3),</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  A55 = (ARMV8_2 | A5x | 0x5),</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da8a2396eb11e41f727e6cdaa783d7d893">A55_DOT</a> = (<a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da83a0ae9a921c5de44da55ab444611649">A55</a> | <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782">DOT</a>),</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  A72 = (ARMV8 | A7x | 0x2),</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853daaf79f683ceaea4650b20e898d6c4c373">A73</a> = (<a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dae756f50f85aff43114661560586b0cdd">ARMV8</a> | <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da2e661c06783635c6781ed83ba9091a0e">A7x</a> | 0x3),</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  A75 = (ARMV8_2 | A7x | 0x5),</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da3ccaa97eef88d0725900d73d2c54aa15">A75_DOT</a> = (<a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dadb48626fe69fc2fa2191287510a76831">A75</a> | <a class="code" href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782">DOT</a>),</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853da45a830a4c6240ac27c392266589a630c"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da45a830a4c6240ac27c392266589a630c">arm_compute::CPUTarget::ARMV7</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853dadb48626fe69fc2fa2191287510a76831"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853dadb48626fe69fc2fa2191287510a76831">arm_compute::CPUTarget::A75</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da40679521b5da0954b705341a2859f782">arm_compute::CPUTarget::DOT</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5bc939238e1f14a4c39aaee8186a853da83a0ae9a921c5de44da55ab444611649"><div class="ttname"><a href="namespacearm__compute.xhtml#a5bc939238e1f14a4c39aaee8186a853da83a0ae9a921c5de44da55ab444611649">arm_compute::CPUTarget::A55</a></div></div>
@@ -5343,70 +6010,55 @@
<p>Available data types. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN</em> </td><td class="fielddoc">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a6669348b484e3008dca2bfa8e85e40b5"></a>U8</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a6669348b484e3008dca2bfa8e85e40b5"></a>U8 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975"></a>S8</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975"></a>S8 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543"></a>QS8</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543"></a>QS8 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aef9ef3ebca4d2b64b6ec83808bafa5f2"></a>U16</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924"></a>QASYMM8 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a6e0b0886efb94aec797f6b830329b72c"></a>S16</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aef9ef3ebca4d2b64b6ec83808bafa5f2"></a>U16 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9"></a>QS16</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a6e0b0886efb94aec797f6b830329b72c"></a>S16 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6ac8bd5bedff8ef192d39a962afc0e19ee"></a>U32</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9"></a>QS16 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aa1e28eee0339658d39a8b4d325b56e9c"></a>S32</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6ac8bd5bedff8ef192d39a962afc0e19ee"></a>U32 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf"></a>QS32</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6aa1e28eee0339658d39a8b4d325b56e9c"></a>S32 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa"></a>U64</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf"></a>QS32 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc"></a>S64</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa"></a>U64 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a56d8353718e6fdc78b8d69078a2cdb94"></a>F16</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc"></a>S64 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a44ad4ef5a76e6aa6fb3e3fa079a54fda"></a>F32</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a56d8353718e6fdc78b8d69078a2cdb94"></a>F16 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e"></a>F64</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a44ad4ef5a76e6aa6fb3e3fa079a54fda"></a>F32 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1"></a>SIZET</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e"></a>F64 </td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1"></a>SIZET </td><td class="fielddoc">
</td></tr>
</table>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00064">64</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> {</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>,</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>,</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>,</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>,</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>,</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>,</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>,</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>,</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">arm_compute::DataType::QS16</a></div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00071">71</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> {</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>,</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>,</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>,</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>,</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>,</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>,</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>,</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>,</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>,</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>,</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>,</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>,</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>,</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>,</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>,</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>,</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">arm_compute::DataType::QS16</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">arm_compute::DataType::QS8</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">arm_compute::Format::U8</a></div><div class="ttdoc">Unknown image format. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">arm_compute::Format::F32</a></div><div class="ttdoc">1 channel, 1 F16 per channel </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">arm_compute::Format::U16</a></div><div class="ttdoc">1 channel, 1 S16 per channel </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">arm_compute::Format::F16</a></div><div class="ttdoc">1 channel, 1 U32 per channel </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">arm_compute::Format::S32</a></div><div class="ttdoc">1 channel, 1 U16 per channel </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">arm_compute::Format::U8</a></div><div class="ttdoc">1 channel, 1 U8 per channel </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">arm_compute::Format::F32</a></div><div class="ttdoc">1 channel, 1 F32 per channel </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">arm_compute::Format::U16</a></div><div class="ttdoc">1 channel, 1 U16 per channel </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">arm_compute::Format::F16</a></div><div class="ttdoc">1 channel, 1 F16 per channel </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">arm_compute::Format::S32</a></div><div class="ttdoc">1 channel, 1 S32 per channel </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">arm_compute::DataType::S64</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">arm_compute::DataType::SIZET</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">arm_compute::Format::U32</a></div><div class="ttdoc">1 channel, 1 S32 per channel </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">arm_compute::Format::S16</a></div><div class="ttdoc">1 channel, 1 U8 per channel </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">arm_compute::Format::U32</a></div><div class="ttdoc">1 channel, 1 U32 per channel </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">arm_compute::DataType::QASYMM8</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">arm_compute::Format::S16</a></div><div class="ttdoc">1 channel, 1 S16 per channel </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::CLVersion::UNKNOWN</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">arm_compute::DataType::QS32</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">arm_compute::DataType::F64</a></div></div>
@@ -5436,24 +6088,52 @@
<p>Dimension rounding type when down-scaling on CNNs. </p>
<dl class="section note"><dt>Note</dt><dd>Used in pooling and convolution layer </dd></dl>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe"></a>FLOOR</em> </td><td class="fielddoc">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe"></a>FLOOR </td><td class="fielddoc">
<p>Floor rounding. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff"></a>CEIL</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff"></a>CEIL </td><td class="fielddoc">
<p>Ceil rounding. </p>
</td></tr>
</table>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00391">391</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00392"></a><span class="lineno"> 392</span> {</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">FLOOR</a>, </div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a> </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff"><div class="ttname"><a href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">arm_compute::DimensionRoundingType::CEIL</a></div><div class="ttdoc">Ceil rounding. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00445">445</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00446"></a><span class="lineno"> 446</span> {</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">FLOOR</a>, </div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <a class="code" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">CEIL</a> </div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff"><div class="ttname"><a href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa5bdce8e6d9dc3efbbd31e90a8a181dff">arm_compute::DimensionRoundingType::CEIL</a></div><div class="ttdoc">Ceil rounding. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe"><div class="ttname"><a href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849aa56c1e354d36beb85b0d881c5b2e24cbe">arm_compute::DimensionRoundingType::FLOOR</a></div><div class="ttdoc">Floor rounding. </div></div>
</div><!-- fragment -->
</div>
</div>
+<a class="anchor" id="a59e56af19e754a6aa26a612ebf91d05f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">strong</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a59e56af19e754a6aa26a612ebf91d05fae0aa021e21dddbd6d8cecec71e9cf564"></a>OK </td><td class="fielddoc">
+<p>No error. </p>
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579"></a>RUNTIME_ERROR </td><td class="fielddoc">
+<p>Generic runtime error. </p>
+</td></tr>
+</table>
+
+<p>Definition at line <a class="el" href="core_2_error_8h_source.xhtml#l00032">32</a> of file <a class="el" href="core_2_error_8h_source.xhtml">Error.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> {</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <a class="code" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fae0aa021e21dddbd6d8cecec71e9cf564">OK</a>, </div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <a class="code" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579">RUNTIME_ERROR</a> </div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a59e56af19e754a6aa26a612ebf91d05fae0aa021e21dddbd6d8cecec71e9cf564"><div class="ttname"><a href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fae0aa021e21dddbd6d8cecec71e9cf564">arm_compute::ErrorCode::OK</a></div><div class="ttdoc">No error. </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579"><div class="ttname"><a href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05fa62be47fdd89da032cf78dfce82239579">arm_compute::ErrorCode::RUNTIME_ERROR</a></div><div class="ttdoc">Generic runtime error. </div></div>
+</div><!-- fragment -->
+</div>
+</div>
<a class="anchor" id="afa20b6a7f4383003babd690f026f22dc"></a>
<div class="memitem">
<div class="memproto">
@@ -5474,40 +6154,31 @@
<p>Fixed point operation. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca9eeb52badb613229884838847294b90d"></a>ADD</em> </td><td class="fielddoc">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca9eeb52badb613229884838847294b90d"></a>ADD </td><td class="fielddoc">
<p>Addition. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca241dd841abade20fcb27b8a9f494e1eb"></a>SUB</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca241dd841abade20fcb27b8a9f494e1eb"></a>SUB </td><td class="fielddoc">
<p>Subtraction. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca2cdf52a55876063ec93b7d18bc741f6c"></a>MUL</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca2cdf52a55876063ec93b7d18bc741f6c"></a>MUL </td><td class="fielddoc">
<p>Multiplication. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7"></a>EXP</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7"></a>EXP </td><td class="fielddoc">
<p>Exponential. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3"></a>LOG</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3"></a>LOG </td><td class="fielddoc">
<p>Logarithm. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b"></a>INV_SQRT</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b"></a>INV_SQRT </td><td class="fielddoc">
<p>Inverse square root. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1"></a>RECIPROCAL</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1"></a>RECIPROCAL </td><td class="fielddoc">
<p>Reciprocal. </p>
</td></tr>
</table>
<p>Definition at line <a class="el" href="tests_2_types_8h_source.xhtml#l00034">34</a> of file <a class="el" href="tests_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> {</div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <a class="code" href="arithmetic__op_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">ADD</a>, </div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <a class="code" href="arithmetic__op_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">SUB</a>, </div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca2cdf52a55876063ec93b7d18bc741f6c">MUL</a>, </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7">EXP</a>, </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3">LOG</a>, </div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b">INV_SQRT</a>, </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1">RECIPROCAL</a> </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3"><div class="ttname"><a href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3">arm_compute::FixedPointOp::LOG</a></div><div class="ttdoc">Logarithm. </div></div>
+<div class="fragment"><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> {</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <a class="code" href="arithmetic__op_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">ADD</a>, </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <a class="code" href="arithmetic__op_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">SUB</a>, </div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca2cdf52a55876063ec93b7d18bc741f6c">MUL</a>, </div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7">EXP</a>, </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3">LOG</a>, </div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b">INV_SQRT</a>, </div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <a class="code" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1">RECIPROCAL</a> </div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3"><div class="ttname"><a href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3">arm_compute::FixedPointOp::LOG</a></div><div class="ttdoc">Logarithm. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7"><div class="ttname"><a href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7">arm_compute::FixedPointOp::EXP</a></div><div class="ttdoc">Exponential. </div></div>
<div class="ttc" id="arithmetic__op_8cl_xhtml_af3b709fb668cf93ca09e2a46a2a031a8"><div class="ttname"><a href="arithmetic__op_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">ADD</a></div><div class="ttdeci">#define ADD(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="arithmetic__op_8cl_source.xhtml#l00034">arithmetic_op.cl:34</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b"><div class="ttname"><a href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b">arm_compute::FixedPointOp::INV_SQRT</a></div><div class="ttdoc">Inverse square root. </div></div>
@@ -5537,96 +6208,77 @@
<p><a class="el" href="struct_image.xhtml" title="Structure to hold Image information. ">Image</a> colour formats. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN</em> </td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5"></a>U8</em> </td><td class="fielddoc">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a696b031073e74bf2cb98e5ef201d4aa3"></a>UNKNOWN </td><td class="fielddoc">
<p>Unknown image format. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c"></a>S16</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5"></a>U8 </td><td class="fielddoc">
<p>1 channel, 1 U8 per channel </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2"></a>U16</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c"></a>S16 </td><td class="fielddoc">
<p>1 channel, 1 S16 per channel </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c"></a>S32</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2"></a>U16 </td><td class="fielddoc">
<p>1 channel, 1 U16 per channel </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee"></a>U32</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c"></a>S32 </td><td class="fielddoc">
<p>1 channel, 1 S32 per channel </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94"></a>F16</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee"></a>U32 </td><td class="fielddoc">
<p>1 channel, 1 U32 per channel </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda"></a>F32</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94"></a>F16 </td><td class="fielddoc">
<p>1 channel, 1 F16 per channel </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825"></a>UV88</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda"></a>F32 </td><td class="fielddoc">
<p>1 channel, 1 F32 per channel </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0"></a>RGB888</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825"></a>UV88 </td><td class="fielddoc">
<p>2 channel, 1 U8 per channel </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619"></a>RGBA8888</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0"></a>RGB888 </td><td class="fielddoc">
<p>3 channels, 1 U8 per channel </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c"></a>YUV444</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619"></a>RGBA8888 </td><td class="fielddoc">
<p>4 channels, 1 U8 per channel </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164"></a>YUYV422</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c"></a>YUV444 </td><td class="fielddoc">
<p>A 3 plane of 8 bit 4:4:4 sampled Y, U, V planes. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755"></a>NV12</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164"></a>YUYV422 </td><td class="fielddoc">
<p>A single plane of 32-bit macro pixel of Y0, U0, Y1, V0 bytes. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4"></a>NV21</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755"></a>NV12 </td><td class="fielddoc">
<p>A 2 plane YUV format of Luma (Y) and interleaved UV data at 4:2:0 sampling. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778"></a>IYUV</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4"></a>NV21 </td><td class="fielddoc">
<p>A 2 plane YUV format of Luma (Y) and interleaved VU data at 4:2:0 sampling. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa"></a>UYVY422</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778"></a>IYUV </td><td class="fielddoc">
<p>A 3 plane of 8-bit 4:2:0 sampled Y, U, V planes. </p>
-<p>A single plane of 32-bit macro pixel of U0, Y0, V0, Y1 byte </p>
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa"></a>UYVY422 </td><td class="fielddoc">
+<p>A single plane of 32-bit macro pixel of U0, Y0, V0, Y1 byte. </p>
</td></tr>
</table>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00042">42</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> {</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, </div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, </div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, </div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>, </div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, </div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, </div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">arm_compute::Format::UYVY422</a></div><div class="ttdoc">A 3 plane of 8-bit 4:2:0 sampled Y, U, V planes. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">arm_compute::Format::U8</a></div><div class="ttdoc">Unknown image format. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">arm_compute::Format::F32</a></div><div class="ttdoc">1 channel, 1 F16 per channel </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">arm_compute::Format::NV12</a></div><div class="ttdoc">A single plane of 32-bit macro pixel of Y0, U0, Y1, V0 bytes. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">arm_compute::Format::U16</a></div><div class="ttdoc">1 channel, 1 S16 per channel </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">arm_compute::Format::NV21</a></div><div class="ttdoc">A 2 plane YUV format of Luma (Y) and interleaved UV data at 4:2:0 sampling. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">arm_compute::Format::F16</a></div><div class="ttdoc">1 channel, 1 U32 per channel </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">arm_compute::Format::S32</a></div><div class="ttdoc">1 channel, 1 U16 per channel </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">arm_compute::Format::RGB888</a></div><div class="ttdoc">2 channel, 1 U8 per channel </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">arm_compute::Format::U32</a></div><div class="ttdoc">1 channel, 1 S32 per channel </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">arm_compute::Format::YUV444</a></div><div class="ttdoc">4 channels, 1 U8 per channel </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">arm_compute::Format::S16</a></div><div class="ttdoc">1 channel, 1 U8 per channel </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">arm_compute::Format::IYUV</a></div><div class="ttdoc">A 2 plane YUV format of Luma (Y) and interleaved VU data at 4:2:0 sampling. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">arm_compute::Format::RGBA8888</a></div><div class="ttdoc">3 channels, 1 U8 per channel </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00049">49</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> {</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <a class="code" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, </div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, </div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, </div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, </div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, </div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, </div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, </div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, </div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, </div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, </div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>, </div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, </div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, </div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a> </div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">arm_compute::Format::UYVY422</a></div><div class="ttdoc">A single plane of 32-bit macro pixel of U0, Y0, V0, Y1 byte. </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">arm_compute::Format::U8</a></div><div class="ttdoc">1 channel, 1 U8 per channel </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">arm_compute::Format::F32</a></div><div class="ttdoc">1 channel, 1 F32 per channel </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">arm_compute::Format::NV12</a></div><div class="ttdoc">A 2 plane YUV format of Luma (Y) and interleaved UV data at 4:2:0 sampling. </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">arm_compute::Format::U16</a></div><div class="ttdoc">1 channel, 1 U16 per channel </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">arm_compute::Format::NV21</a></div><div class="ttdoc">A 2 plane YUV format of Luma (Y) and interleaved VU data at 4:2:0 sampling. </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">arm_compute::Format::F16</a></div><div class="ttdoc">1 channel, 1 F16 per channel </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">arm_compute::Format::S32</a></div><div class="ttdoc">1 channel, 1 S32 per channel </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">arm_compute::Format::RGB888</a></div><div class="ttdoc">3 channels, 1 U8 per channel </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">arm_compute::Format::U32</a></div><div class="ttdoc">1 channel, 1 U32 per channel </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">arm_compute::Format::YUV444</a></div><div class="ttdoc">A 3 plane of 8 bit 4:4:4 sampled Y, U, V planes. </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">arm_compute::Format::S16</a></div><div class="ttdoc">1 channel, 1 S16 per channel </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">arm_compute::Format::IYUV</a></div><div class="ttdoc">A 3 plane of 8-bit 4:2:0 sampled Y, U, V planes. </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">arm_compute::Format::RGBA8888</a></div><div class="ttdoc">4 channels, 1 U8 per channel </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">arm_compute::CLVersion::UNKNOWN</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">arm_compute::Format::UV88</a></div><div class="ttdoc">1 channel, 1 F32 per channel </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">arm_compute::Format::YUYV422</a></div><div class="ttdoc">A 3 plane of 8 bit 4:4:4 sampled Y, U, V planes. </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">arm_compute::Format::UV88</a></div><div class="ttdoc">2 channel, 1 U8 per channel </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">arm_compute::Format::YUYV422</a></div><div class="ttdoc">A single plane of 32-bit macro pixel of Y0, U0, Y1, V0 bytes. </div></div>
</div><!-- fragment -->
</div>
</div>
@@ -5650,33 +6302,24 @@
<p>Available GPU Targets. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82"></a>GPU_ARCH_MASK</em> </td><td class="fielddoc">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82"></a>GPU_ARCH_MASK </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38"></a>MIDGARD</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38"></a>MIDGARD </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e"></a>BIFROST</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e"></a>BIFROST </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673"></a>T600</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673"></a>T600 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd"></a>T700</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd"></a>T700 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048"></a>T800</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048"></a>T800 </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a735ac6c2a02e320969625308810444f3a0a91b0ff027767625b7d1a924e10c298"></a>G70</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a735ac6c2a02e320969625308810444f3a0a91b0ff027767625b7d1a924e10c298"></a>G70 </td><td class="fielddoc">
</td></tr>
</table>
<p>Definition at line <a class="el" href="_c_l_types_8h_source.xhtml#l00035">35</a> of file <a class="el" href="_c_l_types_8h_source.xhtml">CLTypes.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> {</div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82">GPU_ARCH_MASK</a> = 0xF00,</div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">MIDGARD</a> = 0x100,</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">BIFROST</a> = 0x200,</div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673">T600</a> = 0x110,</div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">T700</a> = 0x120,</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048">T800</a> = 0x130,</div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a0a91b0ff027767625b7d1a924e10c298">G70</a> = 0x210</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">arm_compute::GPUTarget::T700</a></div></div>
+<div class="fragment"><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> {</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82">GPU_ARCH_MASK</a> = 0xF00,</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">MIDGARD</a> = 0x100,</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aa78cc0fd1cab24af0fad71dc4c256f8e">BIFROST</a> = 0x200,</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673">T600</a> = 0x110,</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">T700</a> = 0x120,</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048">T800</a> = 0x130,</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a0a91b0ff027767625b7d1a924e10c298">G70</a> = 0x210</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a664a94fa85b127eabc7bed25091843fd">arm_compute::GPUTarget::T700</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3aae926a8537ded0221329aa9a89b84048">arm_compute::GPUTarget::T800</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a57a3b40730a5af7ea3e13eb4bba56d82">arm_compute::GPUTarget::GPU_ARCH_MASK</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3a6855a4342969d2b58c96d95385d6e673">arm_compute::GPUTarget::T600</a></div></div>
@@ -5686,6 +6329,36 @@
</div><!-- fragment -->
</div>
</div>
+<a class="anchor" id="ae46abc5ecac309cbece5c06cb80daaf7"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">GradientDimension</a></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">strong</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Gradient dimension type. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc"></a>GRAD_XY </td><td class="fielddoc">
+<p>x and y gradient dimension </p>
+</td></tr>
+</table>
+
+<p>Definition at line <a class="el" href="tests_2_types_8h_source.xhtml#l00046">46</a> of file <a class="el" href="tests_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> {</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  GRAD_X, </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  GRAD_Y, </div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc">GRAD_XY</a>, </div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc"><div class="ttname"><a href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc">arm_compute::GradientDimension::GRAD_XY</a></div><div class="ttdoc">x and y gradient dimension </div></div>
+</div><!-- fragment -->
+</div>
+</div>
<a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3"></a>
<div class="memitem">
<div class="memproto">
@@ -5706,24 +6379,19 @@
<p>Normalization type for Histogram of Oriented Gradients (<a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a>) </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5"></a>L2_NORM</em> </td><td class="fielddoc">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5"></a>L2_NORM </td><td class="fielddoc">
<p>L2-norm. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2"></a>L2HYS_NORM</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2"></a>L2HYS_NORM </td><td class="fielddoc">
<p>L2-norm followed by clipping. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa"></a>L1_NORM</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa"></a>L1_NORM </td><td class="fielddoc">
<p>L1 norm. </p>
</td></tr>
</table>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00365">365</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00366"></a><span class="lineno"> 366</span> {</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a> = 1, </div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a> = 2, </div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a> = 3 </div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2"><div class="ttname"><a href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">arm_compute::HOGNormType::L2HYS_NORM</a></div><div class="ttdoc">L2-norm followed by clipping. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00419">419</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00420"></a><span class="lineno"> 420</span> {</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">L2_NORM</a> = 1, </div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">L2HYS_NORM</a> = 2, </div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  <a class="code" href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">L1_NORM</a> = 3 </div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2"><div class="ttname"><a href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3ac9e68c0594494ec85805b225a7acb9c2">arm_compute::HOGNormType::L2HYS_NORM</a></div><div class="ttdoc">L2-norm followed by clipping. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa"><div class="ttname"><a href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a68616ae21712c00705b962f4eff06eaa">arm_compute::HOGNormType::L1_NORM</a></div><div class="ttdoc">L1 norm. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5"><div class="ttname"><a href="namespacearm__compute.xhtml#a673665b4587a2956fcbad5f0e9ba89d3a80485e54c7a3c93a0f74637c6b918ce5">arm_compute::HOGNormType::L2_NORM</a></div><div class="ttdoc">L2-norm. </div></div>
</div><!-- fragment -->
@@ -5749,67 +6417,24 @@
<p>Interpolation method. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2"></a>NEAREST_NEIGHBOR</em> </td><td class="fielddoc">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2"></a>NEAREST_NEIGHBOR </td><td class="fielddoc">
<p>Output values are defined to match the source pixel whose center is nearest to the sample position. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65"></a>BILINEAR</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65"></a>BILINEAR </td><td class="fielddoc">
<p>Output values are defined by bilinear interpolation between the pixels. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4"></a>AREA</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4"></a>AREA </td><td class="fielddoc">
<p>Output values are determined by averaging the source pixels whose areas fall under the area of the destination pixel, projected onto the source image. </p>
</td></tr>
</table>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00216">216</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00217"></a><span class="lineno"> 217</span> {</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>, </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, </div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, </div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65"><div class="ttname"><a href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">arm_compute::InterpolationPolicy::BILINEAR</a></div><div class="ttdoc">Output values are defined by bilinear interpolation between the pixels. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00278">278</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00279"></a><span class="lineno"> 279</span> {</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>, </div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, </div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <a class="code" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, </div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65"><div class="ttname"><a href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">arm_compute::InterpolationPolicy::BILINEAR</a></div><div class="ttdoc">Output values are defined by bilinear interpolation between the pixels. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2"><div class="ttname"><a href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">arm_compute::InterpolationPolicy::NEAREST_NEIGHBOR</a></div><div class="ttdoc">Output values are defined to match the source pixel whose center is nearest to the sample position...</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4"><div class="ttname"><a href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">arm_compute::InterpolationPolicy::AREA</a></div><div class="ttdoc">Output values are determined by averaging the source pixels whose areas fall under the area of the de...</div></div>
</div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="afb2e0528558bbb0131d2cb41a66c13d7"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#afb2e0528558bbb0131d2cb41a66c13d7">LoggerVerbosity</a></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">strong</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>< Verbosity of the logger </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="afb2e0528558bbb0131d2cb41a66c13d7ab50339a10e1de285ac99d4c3990b8693"></a>NONE</em> </td><td class="fielddoc">
-<p>No info. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="afb2e0528558bbb0131d2cb41a66c13d7a551b723eafd6a31d444fcb2f5920fbd3"></a>INFO</em> </td><td class="fielddoc">
-<p>Log info. </p>
-</td></tr>
-</table>
-
-<p>Definition at line <a class="el" href="_logger_8h_source.xhtml#l00040">40</a> of file <a class="el" href="_logger_8h_source.xhtml">Logger.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> {</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <a class="code" href="namespacearm__compute.xhtml#afb2e0528558bbb0131d2cb41a66c13d7ab50339a10e1de285ac99d4c3990b8693">NONE</a>, </div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <a class="code" href="namespacearm__compute.xhtml#afb2e0528558bbb0131d2cb41a66c13d7a551b723eafd6a31d444fcb2f5920fbd3">INFO</a> </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_afb2e0528558bbb0131d2cb41a66c13d7a551b723eafd6a31d444fcb2f5920fbd3"><div class="ttname"><a href="namespacearm__compute.xhtml#afb2e0528558bbb0131d2cb41a66c13d7a551b723eafd6a31d444fcb2f5920fbd3">arm_compute::LoggerVerbosity::INFO</a></div><div class="ttdoc">Log info. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_afb2e0528558bbb0131d2cb41a66c13d7ab50339a10e1de285ac99d4c3990b8693"><div class="ttname"><a href="namespacearm__compute.xhtml#afb2e0528558bbb0131d2cb41a66c13d7ab50339a10e1de285ac99d4c3990b8693">arm_compute::LoggerVerbosity::NONE</a></div><div class="ttdoc">No info. </div></div>
-</div><!-- fragment -->
-</div>
-</div>
<a class="anchor" id="a7b3ec6413f000b02fdb4e39a951d9f8a"></a>
<div class="memitem">
<div class="memproto">
@@ -5830,20 +6455,16 @@
<p>Magnitude calculation type. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8"></a>L1NORM</em> </td><td class="fielddoc">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8"></a>L1NORM </td><td class="fielddoc">
<p>L1 normalization type. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131"></a>L2NORM</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131"></a>L2NORM </td><td class="fielddoc">
<p>L2 normalization type. </p>
</td></tr>
</table>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00254">254</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00255"></a><span class="lineno"> 255</span> {</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">L1NORM</a>, </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a> </div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8"><div class="ttname"><a href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">arm_compute::MagnitudeType::L1NORM</a></div><div class="ttdoc">L1 normalization type. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00308">308</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00309"></a><span class="lineno"> 309</span> {</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">L1NORM</a>, </div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <a class="code" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a> </div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8"><div class="ttname"><a href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">arm_compute::MagnitudeType::L1NORM</a></div><div class="ttdoc">L1 normalization type. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131"><div class="ttname"><a href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">arm_compute::MagnitudeType::L2NORM</a></div><div class="ttdoc">L2 normalization type. </div></div>
</div><!-- fragment -->
</div>
@@ -5868,20 +6489,16 @@
<p>Mapping type. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e"></a>BLOBS</em> </td><td class="fielddoc">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e"></a>BLOBS </td><td class="fielddoc">
<p>Mappings are in blob granularity. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073"></a>OFFSETS</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073"></a>OFFSETS </td><td class="fielddoc">
<p>Mappings are in offset granularity in the same blob. </p>
</td></tr>
</table>
<p>Definition at line <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml#l00032">32</a> of file <a class="el" href="arm__compute_2runtime_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> {</div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <a class="code" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e">BLOBS</a>, </div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <a class="code" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073">OFFSETS</a> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e"><div class="ttname"><a href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e">arm_compute::MappingType::BLOBS</a></div><div class="ttdoc">Mappings are in blob granularity. </div></div>
+<div class="fragment"><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> {</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <a class="code" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e">BLOBS</a>, </div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <a class="code" href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073">OFFSETS</a> </div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e"><div class="ttname"><a href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74daac354f9e7a5097598cdd933b42fd190e">arm_compute::MappingType::BLOBS</a></div><div class="ttdoc">Mappings are in blob granularity. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073"><div class="ttname"><a href="namespacearm__compute.xhtml#af0a4d6be70322c742c12da1edccbb74da465202c26fd7181c6bc9a80648499073">arm_compute::MappingType::OFFSETS</a></div><div class="ttdoc">Mappings are in offset granularity in the same blob. </div></div>
</div><!-- fragment -->
</div>
@@ -5906,28 +6523,22 @@
<p>Available matrix patterns. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5"></a>BOX</em> </td><td class="fielddoc">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5"></a>BOX </td><td class="fielddoc">
<p>Box pattern matrix. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2"></a>CROSS</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2"></a>CROSS </td><td class="fielddoc">
<p>Cross pattern matrix. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7"></a>DISK</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7"></a>DISK </td><td class="fielddoc">
<p>Disk pattern matrix. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb"></a>OTHER</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb"></a>OTHER </td><td class="fielddoc">
<p>Any other matrix pattern. </p>
</td></tr>
</table>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00333">333</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00334"></a><span class="lineno"> 334</span> {</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>, </div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>, </div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>, </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a> </div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7"><div class="ttname"><a href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">arm_compute::MatrixPattern::DISK</a></div><div class="ttdoc">Disk pattern matrix. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00387">387</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00388"></a><span class="lineno"> 388</span> {</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>, </div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>, </div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>, </div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <a class="code" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a> </div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7"><div class="ttname"><a href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">arm_compute::MatrixPattern::DISK</a></div><div class="ttdoc">Disk pattern matrix. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5"><div class="ttname"><a href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">arm_compute::MatrixPattern::BOX</a></div><div class="ttdoc">Box pattern matrix. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2"><div class="ttname"><a href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">arm_compute::MatrixPattern::CROSS</a></div><div class="ttdoc">Cross pattern matrix. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb"><div class="ttname"><a href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">arm_compute::MatrixPattern::OTHER</a></div><div class="ttdoc">Any other matrix pattern. </div></div>
@@ -5954,25 +6565,19 @@
<p>Available non linear functions. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074"></a>MEDIAN</em> </td><td class="fielddoc">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074"></a>MEDIAN </td><td class="fielddoc">
<p>Non linear median filter. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653"></a>MIN</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653"></a>MIN </td><td class="fielddoc">
<p>Non linear erode. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5"></a>MAX</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5"></a>MAX </td><td class="fielddoc">
<p>Non linear dilate. </p>
</td></tr>
</table>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00342">342</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  : <span class="keywordtype">unsigned</span></div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> {</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a> = 0, </div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a> = 1, </div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a> = 2, </div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5"><div class="ttname"><a href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">arm_compute::NonLinearFilterFunction::MAX</a></div><div class="ttdoc">Non linear dilate. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00396">396</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  : <span class="keywordtype">unsigned</span></div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span> {</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a> = 0, </div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a> = 1, </div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a> = 2, </div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5"><div class="ttname"><a href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">arm_compute::NonLinearFilterFunction::MAX</a></div><div class="ttdoc">Non linear dilate. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653"><div class="ttname"><a href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">arm_compute::NonLinearFilterFunction::MIN</a></div><div class="ttdoc">Non linear erode. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074"><div class="ttname"><a href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">arm_compute::NonLinearFilterFunction::MEDIAN</a></div><div class="ttdoc">Non linear median filter. </div></div>
</div><!-- fragment -->
@@ -5998,24 +6603,19 @@
<p>The normalization type used for the normalization layer. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190"></a>IN_MAP_1D</em> </td><td class="fielddoc">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190"></a>IN_MAP_1D </td><td class="fielddoc">
<p>Normalization applied within the same map in 1D region. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e"></a>IN_MAP_2D</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e"></a>IN_MAP_2D </td><td class="fielddoc">
<p>Normalization applied within the same map in 2D region. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5"></a>CROSS_MAP</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5"></a>CROSS_MAP </td><td class="fielddoc">
<p>Normalization applied cross maps. </p>
</td></tr>
</table>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00357">357</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00358"></a><span class="lineno"> 358</span> {</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">IN_MAP_1D</a>, </div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>, </div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a> </div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190"><div class="ttname"><a href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">arm_compute::NormType::IN_MAP_1D</a></div><div class="ttdoc">Normalization applied within the same map in 1D region. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00411">411</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00412"></a><span class="lineno"> 412</span> {</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">IN_MAP_1D</a>, </div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>, </div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <a class="code" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a> </div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190"><div class="ttname"><a href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">arm_compute::NormType::IN_MAP_1D</a></div><div class="ttdoc">Normalization applied within the same map in 1D region. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5"><div class="ttname"><a href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">arm_compute::NormType::CROSS_MAP</a></div><div class="ttdoc">Normalization applied cross maps. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e"><div class="ttname"><a href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">arm_compute::NormType::IN_MAP_2D</a></div><div class="ttdoc">Normalization applied within the same map in 2D region. </div></div>
</div><!-- fragment -->
@@ -6042,20 +6642,16 @@
<p>Phase calculation type. </p>
<dl class="section note"><dt>Note</dt><dd>When PhaseType == SIGNED, each angle is mapped to the range 0 to 255 inclusive otherwise angles between 0 and 180 </dd></dl>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07"></a>SIGNED</em> </td><td class="fielddoc">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07"></a>SIGNED </td><td class="fielddoc">
<p>Angle range: [0, 360]. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054"></a>UNSIGNED</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054"></a>UNSIGNED </td><td class="fielddoc">
<p>Angle range: [0, 180]. </p>
</td></tr>
</table>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00264">264</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00265"></a><span class="lineno"> 265</span> {</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">SIGNED</a>, </div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054"><div class="ttname"><a href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">arm_compute::PhaseType::UNSIGNED</a></div><div class="ttdoc">Angle range: [0, 180]. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00318">318</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00319"></a><span class="lineno"> 319</span> {</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">SIGNED</a>, </div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <a class="code" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a> </div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054"><div class="ttname"><a href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">arm_compute::PhaseType::UNSIGNED</a></div><div class="ttdoc">Angle range: [0, 180]. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07"><div class="ttname"><a href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">arm_compute::PhaseType::SIGNED</a></div><div class="ttdoc">Angle range: [0, 360]. </div></div>
</div><!-- fragment -->
</div>
@@ -6080,24 +6676,19 @@
<p>Available pooling types. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93a26a4b44a837bf97b972628509912b4a5"></a>MAX</em> </td><td class="fielddoc">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93a26a4b44a837bf97b972628509912b4a5"></a>MAX </td><td class="fielddoc">
<p>Max Pooling. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a"></a>AVG</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a"></a>AVG </td><td class="fielddoc">
<p>Average Pooling. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76"></a>L2</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76"></a>L2 </td><td class="fielddoc">
<p>L2 Pooling. </p>
</td></tr>
</table>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00398">398</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00399"></a><span class="lineno"> 399</span> {</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, </div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>, </div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a> </div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76"><div class="ttname"><a href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">arm_compute::PoolingType::L2</a></div><div class="ttdoc">L2 Pooling. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00452">452</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00453"></a><span class="lineno"> 453</span> {</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  <a class="code" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, </div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>, </div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  <a class="code" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a> </div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76"><div class="ttname"><a href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">arm_compute::PoolingType::L2</a></div><div class="ttdoc">L2 Pooling. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a"><div class="ttname"><a href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">arm_compute::PoolingType::AVG</a></div><div class="ttdoc">Average Pooling. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5"><div class="ttname"><a href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">arm_compute::NonLinearFilterFunction::MAX</a></div><div class="ttdoc">Non linear dilate. </div></div>
</div><!-- fragment -->
@@ -6123,20 +6714,16 @@
<p>Available reduction operations. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64"></a>SUM_SQUARE</em> </td><td class="fielddoc">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64"></a>SUM_SQUARE </td><td class="fielddoc">
<p>Sum of squares. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a"></a>SUM</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a"></a>SUM </td><td class="fielddoc">
<p>Sum. </p>
</td></tr>
</table>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00350">350</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00351"></a><span class="lineno"> 351</span> {</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>, </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">SUM</a>, </div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64"><div class="ttname"><a href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">arm_compute::ReductionOperation::SUM_SQUARE</a></div><div class="ttdoc">Sum of squares. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00404">404</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00405"></a><span class="lineno"> 405</span> {</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>, </div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  <a class="code" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">SUM</a>, </div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64"><div class="ttname"><a href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">arm_compute::ReductionOperation::SUM_SQUARE</a></div><div class="ttdoc">Sum of squares. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a"><div class="ttname"><a href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba6970bdc2201030b9c03fbdcf3973858a">arm_compute::ReductionOperation::SUM</a></div><div class="ttdoc">Sum. </div></div>
</div><!-- fragment -->
</div>
@@ -6161,29 +6748,58 @@
<p>Rounding method. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06"></a>TO_ZERO</em> </td><td class="fielddoc">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06"></a>TO_ZERO </td><td class="fielddoc">
<p>Truncates the least significand values that are lost in operations. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95"></a>TO_NEAREST_UP</em> </td><td class="fielddoc">
-<p>Rounds to nearest value; half rounds up. </p>
+<tr><td class="fieldname"><a class="anchor" id="add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95"></a>TO_NEAREST_UP </td><td class="fielddoc">
+<p>Rounds to nearest value; half rounds away from zero. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150"></a>TO_NEAREST_EVEN</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150"></a>TO_NEAREST_EVEN </td><td class="fielddoc">
<p>Rounds to nearest value; half rounds to nearest even. </p>
</td></tr>
</table>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00238">238</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <a class="code" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06">TO_ZERO</a>, </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <a class="code" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">TO_NEAREST_UP</a>, </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <a class="code" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">TO_NEAREST_EVEN</a> </div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95"><div class="ttname"><a href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">arm_compute::RoundingPolicy::TO_NEAREST_UP</a></div><div class="ttdoc">Rounds to nearest value; half rounds up. </div></div>
+<p>Definition at line <a class="el" href="_rounding_8h_source.xhtml#l00030">30</a> of file <a class="el" href="_rounding_8h_source.xhtml">Rounding.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> {</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <a class="code" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06">TO_ZERO</a>, </div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <a class="code" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">TO_NEAREST_UP</a>, </div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <a class="code" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">TO_NEAREST_EVEN</a>, </div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95"><div class="ttname"><a href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">arm_compute::RoundingPolicy::TO_NEAREST_UP</a></div><div class="ttdoc">Rounds to nearest value; half rounds away from zero. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150"><div class="ttname"><a href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">arm_compute::RoundingPolicy::TO_NEAREST_EVEN</a></div><div class="ttdoc">Rounds to nearest value; half rounds to nearest even. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06"><div class="ttname"><a href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06">arm_compute::RoundingPolicy::TO_ZERO</a></div><div class="ttdoc">Truncates the least significand values that are lost in operations. </div></div>
</div><!-- fragment -->
</div>
</div>
+<a class="anchor" id="a16a59381d4d74d17d86d69eb4d286d7b"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">SamplingPolicy</a></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">strong</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Available Sampling Policies. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e"></a>CENTER </td><td class="fielddoc">
+<p>Samples are taken at pixel center. </p>
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1"></a>TOP_LEFT </td><td class="fielddoc">
+<p>Samples are taken at pixel top left corner. </p>
+</td></tr>
+</table>
+
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00093">93</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e">CENTER</a>, </div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <a class="code" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1">TOP_LEFT</a> </div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e">arm_compute::SamplingPolicy::CENTER</a></div><div class="ttdoc">Samples are taken at pixel center. </div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1">arm_compute::SamplingPolicy::TOP_LEFT</a></div><div class="ttdoc">Samples are taken at pixel top left corner. </div></div>
+</div><!-- fragment -->
+</div>
+</div>
<a class="anchor" id="a08c1503414e23f5dd10ff83492685453"></a>
<div class="memitem">
<div class="memproto">
@@ -6204,21 +6820,16 @@
<p>Termination criteria. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b"></a>TERM_CRITERIA_EPSILON</em> </td><td class="fielddoc">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b"></a>TERM_CRITERIA_EPSILON </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd"></a>TERM_CRITERIA_ITERATIONS</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd"></a>TERM_CRITERIA_ITERATIONS </td><td class="fielddoc">
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29"></a>TERM_CRITERIA_BOTH</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29"></a>TERM_CRITERIA_BOTH </td><td class="fielddoc">
</td></tr>
</table>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00246">246</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00247"></a><span class="lineno"> 247</span> {</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>,</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>,</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a></div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b"><div class="ttname"><a href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">arm_compute::Termination::TERM_CRITERIA_EPSILON</a></div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00300">300</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00301"></a><span class="lineno"> 301</span> {</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">TERM_CRITERIA_EPSILON</a>,</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">TERM_CRITERIA_ITERATIONS</a>,</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <a class="code" href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">TERM_CRITERIA_BOTH</a></div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b"><div class="ttname"><a href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a5a2e12b6baf7ad91a2ce32f19c36bd1b">arm_compute::Termination::TERM_CRITERIA_EPSILON</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd"><div class="ttname"><a href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a43f2a8b688fb96e5ad8ba08308bbcdfd">arm_compute::Termination::TERM_CRITERIA_ITERATIONS</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29"><div class="ttname"><a href="namespacearm__compute.xhtml#a08c1503414e23f5dd10ff83492685453a788740b1ba2d6463dae318a332513b29">arm_compute::Termination::TERM_CRITERIA_BOTH</a></div></div>
</div><!-- fragment -->
@@ -6244,20 +6855,16 @@
<p>Threshold mode. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452"></a>BINARY</em> </td><td class="fielddoc">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452"></a>BINARY </td><td class="fielddoc">
<p>Threshold with one value. </p>
</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2"></a>RANGE</em> </td><td class="fielddoc">
+<tr><td class="fieldname"><a class="anchor" id="a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2"></a>RANGE </td><td class="fielddoc">
<p>Threshold with two values. </p>
</td></tr>
</table>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00231">231</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00232"></a><span class="lineno"> 232</span> {</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452">BINARY</a>, </div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a> </div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> };</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2"><div class="ttname"><a href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">arm_compute::ThresholdType::RANGE</a></div><div class="ttdoc">Threshold with two values. </div></div>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00293">293</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00294"></a><span class="lineno"> 294</span> {</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452">BINARY</a>, </div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <a class="code" href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">RANGE</a> </div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span> };</div><div class="ttc" id="namespacearm__compute_xhtml_a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2"><div class="ttname"><a href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a01036ddcc971d02f6c32c3da31a119f2">arm_compute::ThresholdType::RANGE</a></div><div class="ttdoc">Threshold with two values. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452"><div class="ttname"><a href="namespacearm__compute.xhtml#a3e6b23e675649b83240691abbc42a649a98ad0e8750ae10ad556ed7a62affb452">arm_compute::ThresholdType::BINARY</a></div><div class="ttdoc">Threshold with one value. </div></div>
</div><!-- fragment -->
</div>
@@ -6314,13 +6921,9 @@
<p>Definition at line <a class="el" href="_i_access_window_8h_source.xhtml#l00047">47</a> of file <a class="el" href="_i_access_window_8h_source.xhtml">IAccessWindow.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>.</p>
-<div class="fragment"><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> {</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(step <= 0);</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">return</span> required - step * ((required - available + step - 1) / step);</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>.</p>
+<div class="fragment"><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> {</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(step <= 0);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">return</span> <a class="code" href="namespacecaffe__data__extractor.xhtml#ae81948490ddf54e80a22593640178350">required</a> - step * ((<a class="code" href="namespacecaffe__data__extractor.xhtml#ae81948490ddf54e80a22593640178350">required</a> - available + step - 1) / step);</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
+<div class="ttc" id="namespacecaffe__data__extractor_xhtml_ae81948490ddf54e80a22593640178350"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#ae81948490ddf54e80a22593640178350">caffe_data_extractor.required</a></div><div class="ttdeci">required</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -6375,17 +6978,13 @@
<p>Definition at line <a class="el" href="_i_access_window_8h_source.xhtml#l00063">63</a> of file <a class="el" href="_i_access_window_8h_source.xhtml">IAccessWindow.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>.</p>
-<div class="fragment"><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> {</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(step <= 0);</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordflow">return</span> required + step * ((available - required + step - 1) / step);</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>.</p>
+<div class="fragment"><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> {</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(step <= 0);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordflow">return</span> <a class="code" href="namespacecaffe__data__extractor.xhtml#ae81948490ddf54e80a22593640178350">required</a> + step * ((available - <a class="code" href="namespacecaffe__data__extractor.xhtml#ae81948490ddf54e80a22593640178350">required</a> + step - 1) / step);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
+<div class="ttc" id="namespacecaffe__data__extractor_xhtml_ae81948490ddf54e80a22593640178350"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#ae81948490ddf54e80a22593640178350">caffe_data_extractor.required</a></div><div class="ttdeci">required</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="a1c9627ac3d73a67e9312c2c9740ff0a3"></a>
+<a class="anchor" id="a9a20062caae09fce4a567be558f9d702"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@@ -6395,13 +6994,13 @@
<tr>
<td class="memname">bool auto_init_if_empty </td>
<td>(</td>
- <td class="paramtype">ITensorInfo & </td>
+ <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> & </td>
<td class="paramname"><em>info</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const TensorShape & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> & </td>
<td class="paramname"><em>shape</em>, </td>
</tr>
<tr>
@@ -6413,14 +7012,20 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DataType </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td>
<td class="paramname"><em>data_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
- <td class="paramname"><em>fixed_point_position</em> </td>
+ <td class="paramname"><em>fixed_point_position</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> </td>
+ <td class="paramname"><em>quantization_info</em> = <code><a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a>()</code> </td>
</tr>
<tr>
<td></td>
@@ -6437,25 +7042,63 @@
<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00200">200</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
-<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a4b622a0346ec30baf0b9a387e00c9ace">ITensorInfo::set_data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#aec2c125ece3cc6593a0be7f1fef3d97f">ITensorInfo::set_fixed_point_position()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ae05139a48d9360e44f5ef2eef64b23ec">ITensorInfo::set_num_channels()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a40deec9ef7e7c892bef6b11b4d81c38e">ITensorInfo::set_tensor_shape()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00135">TensorShape::total_size()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> {</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.tensor_shape().total_size() == 0)</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  {</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_data_type(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>);</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_num_channels(num_channels);</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_tensor_shape(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>);</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_fixed_point_position(fixed_point_position);</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  }</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> }</div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
+<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a9ebcdce876b4cd07736afa47d50154de">ITensorInfo::set_data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a8d9488caf817e12132f0ca2a4c30deba">ITensorInfo::set_fixed_point_position()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#aaf74be25e2392705f29352ffaa4b1f9d">ITensorInfo::set_num_channels()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab64a0374b9e2292ed2b55f4f18c98423">ITensorInfo::set_quantization_info()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#aaf359cee0fc728e7c7fb8b692979994b">ITensorInfo::set_tensor_shape()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00135">TensorShape::total_size()</a>.</p>
+
+<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00534">permute()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> {</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.tensor_shape().total_size() == 0)</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  {</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_data_type(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>);</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_num_channels(num_channels);</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_tensor_shape(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>);</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_fixed_point_position(fixed_point_position);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_quantization_info(quantization_info);</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  }</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -> set_format(Format::S16)</div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00090">MinMaxLocation.cpp:90</a></div></div>
</div><!-- fragment -->
</div>
</div>
+<a class="anchor" id="a5844c8e025388ddd8c3afc5c3f7a3256"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool auto_init_if_empty </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> & </td>
+ <td class="paramname"><em>info_sink</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> & </td>
+ <td class="paramname"><em>info_source</em> </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>Auto initialize the tensor info using another tensor info. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">info_sink</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info used to check and assign </td></tr>
+ <tr><td class="paramname">info_source</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info used to assign</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>True if the tensor info has been initialized </dd></dl>
+
+<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00220">220</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+
+<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab21a362740e892b6e913bd8db03b0e67">ITensorInfo::fixed_point_position()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ad7829ae79223ab87f9da4c0bd7d229ba">ITensorInfo::num_channels()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a3f3e1a3200223e6a304a533b1016e749">ITensorInfo::quantization_info()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a9ebcdce876b4cd07736afa47d50154de">ITensorInfo::set_data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a8d9488caf817e12132f0ca2a4c30deba">ITensorInfo::set_fixed_point_position()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#aaf74be25e2392705f29352ffaa4b1f9d">ITensorInfo::set_num_channels()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab64a0374b9e2292ed2b55f4f18c98423">ITensorInfo::set_quantization_info()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#aaf359cee0fc728e7c7fb8b692979994b">ITensorInfo::set_tensor_shape()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00135">TensorShape::total_size()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00221"></a><span class="lineno"> 221</span> {</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">if</span>(info_sink.tensor_shape().total_size() == 0)</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  {</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  info_sink.set_data_type(info_source.data_type());</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  info_sink.set_num_channels(info_source.num_channels());</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  info_sink.set_tensor_shape(info_source.tensor_shape());</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  info_sink.set_fixed_point_position(info_source.fixed_point_position());</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  info_sink.set_quantization_info(info_source.quantization_info());</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  }</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span> }</div></div><!-- fragment -->
+</div>
+</div>
<a class="anchor" id="a64c17a5a42d2499a1626222ff9753b4d"></a>
<div class="memitem">
<div class="memproto">
@@ -6469,9 +7112,11 @@
</table>
</div><div class="memdoc">
-<p>Returns the <a class="el" href="namespacearm__compute.xhtml">arm_compute</a> library build information. </p>
+<p>Returns the <a class="el" href="namespacearm__compute.xhtml" title="This file contains all available output stages for GEMMLowp on OpenCL. ">arm_compute</a> library build information. </p>
<p>Contains the version number and the build options used to build the library</p>
-<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="namespacearm__compute.xhtml">arm_compute</a> library build information </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="namespacearm__compute.xhtml" title="This file contains all available output stages for GEMMLowp on OpenCL. ">arm_compute</a> library build information </dd></dl>
+
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00061">DIV_CEIL()</a>.</p>
</div>
</div>
@@ -6498,33 +7143,11 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>the output shape </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00430">430</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00470">470</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00074">TensorShape::set()</a>, <a class="el" href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">arm_compute::test::validation::shape</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00081">Dimensions< T >::x()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions< T >::y()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00091">Dimensions< T >::z()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00431"></a><span class="lineno"> 431</span> {</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  TensorShape out_shape = inputs_vector[0]->info()->tensor_shape();</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  <span class="keywordtype">size_t</span> max_x = 0;</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  <span class="keywordtype">size_t</span> max_y = 0;</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keywordtype">size_t</span> depth = 0;</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> </div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <span class="keywordflow">for</span>(<span class="keyword">const</span> <span class="keyword">auto</span> &tensor : inputs_vector)</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  {</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(tensor == <span class="keyword">nullptr</span>);</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <span class="keyword">const</span> TensorShape <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> = tensor->info()->tensor_shape();</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  max_x = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(shape.x(), max_x);</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  max_y = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(shape.y(), max_y);</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  depth += shape.z();</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  }</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> </div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  out_shape.set(0, max_x);</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  out_shape.set(1, max_y);</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  out_shape.set(2, depth);</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="keywordflow">return</span> out_shape;</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> }</div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00074">TensorShape::set()</a>, <a class="el" href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">arm_compute::test::validation::shape</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00081">Dimensions< T >::x()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions< T >::y()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00091">Dimensions< T >::z()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00471"></a><span class="lineno"> 471</span> {</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  TensorShape out_shape = inputs_vector[0]->info()->tensor_shape();</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span> </div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  <span class="keywordtype">size_t</span> max_x = 0;</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  <span class="keywordtype">size_t</span> max_y = 0;</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <span class="keywordtype">size_t</span> depth = 0;</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  <span class="keywordflow">for</span>(<span class="keyword">const</span> <span class="keyword">auto</span> &tensor : inputs_vector)</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  {</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(tensor == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <span class="keyword">const</span> TensorShape <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> = tensor->info()->tensor_shape();</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  max_x = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(shape.x(), max_x);</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  max_y = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(shape.y(), max_y);</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  depth += shape.z();</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  }</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span> </div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  out_shape.set(0, max_x);</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  out_shape.set(1, max_y);</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  out_shape.set(2, depth);</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span> </div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <span class="keywordflow">return</span> out_shape;</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point< T > max(fixed_point< T > x, fixed_point< T > y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">FixedPoint.h:889</a></div></div>
</div><!-- fragment -->
</div>
@@ -6573,15 +7196,10 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The absolute value of the sum of the coefficients if they don't add up to 0, otherwise 1. </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00416">416</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00456">456</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00914">arm_compute::test::fixed_point_arithmetic::detail::abs()</a>, <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00276">size</a>.</p>
-<div class="fragment"><div class="line"><a name="l00417"></a><span class="lineno"> 417</span> {</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a> = matrix_size * matrix_size;</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(1, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ae115fc750a92fb6a5e094998b56fcc56">std::abs</a>(<a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(matrix, matrix + size, 0)));</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> }</div>
-<div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00276">hwc.hpp:276</a></div></div>
+<div class="fragment"><div class="line"><a name="l00457"></a><span class="lineno"> 457</span> {</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a> = matrix_size * matrix_size;</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span> </div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(1, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ae115fc750a92fb6a5e094998b56fcc56">std::abs</a>(<a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(matrix, matrix + size, 0)));</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span> }</div><div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00276">hwc.hpp:276</a></div></div>
<div class="ttc" id="accumulate_8cl_xhtml_a00e540076dd545ad59ac7482f8cdf514"><div class="ttname"><a href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">accumulate</a></div><div class="ttdeci">__kernel void accumulate(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *accu_ptr, uint accu_stride_x, uint accu_step_x, uint accu_stride_y, uint accu_step_y, uint accu_offset_first_element_in_bytes)</div><div class="ttdoc">This function accumulates an input image into output image. </div><div class="ttdef"><b>Definition:</b> <a href="accumulate_8cl_source.xhtml#l00041">accumulate.cl:41</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point< T > max(fixed_point< T > x, fixed_point< T > y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">FixedPoint.h:889</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ae115fc750a92fb6a5e094998b56fcc56"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ae115fc750a92fb6a5e094998b56fcc56">arm_compute::test::fixed_point_arithmetic::detail::abs</a></div><div class="ttdeci">fixed_point< T > abs(fixed_point< T > x)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00914">FixedPoint.h:914</a></div></div>
@@ -6595,20 +7213,20 @@
<tr>
<td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_enlarged_window </td>
<td>(</td>
- <td class="paramtype">const ITensorInfo & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> & </td>
<td class="paramname"><em>info</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Steps & </td>
- <td class="paramname"><em>steps</em> = <code>Steps()</code>, </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> & </td>
+ <td class="paramname"><em>steps</em> = <code><a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>()</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">BorderSize </td>
- <td class="paramname"><em>border_size</em> = <code>BorderSize()</code> </td>
+ <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> </td>
+ <td class="paramname"><em>border_size</em> = <code><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>()</code> </td>
</tr>
<tr>
<td></td>
@@ -6630,6 +7248,8 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00407">update_window_and_padding()</a>.</p>
+
</div>
</div>
<a class="anchor" id="aa2117aef4381edbdf81e17ec088df7f1"></a>
@@ -6639,14 +7259,14 @@
<tr>
<td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_window </td>
<td>(</td>
- <td class="paramtype">const ITensorInfo & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> & </td>
<td class="paramname"><em>info</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Steps & </td>
- <td class="paramname"><em>steps</em> = <code>Steps()</code>, </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> & </td>
+ <td class="paramname"><em>steps</em> = <code><a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>()</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -6657,8 +7277,8 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">BorderSize </td>
- <td class="paramname"><em>border_size</em> = <code>BorderSize()</code> </td>
+ <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> </td>
+ <td class="paramname"><em>border_size</em> = <code><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>()</code> </td>
</tr>
<tr>
<td></td>
@@ -6680,6 +7300,8 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00407">update_window_and_padding()</a>.</p>
+
</div>
</div>
<a class="anchor" id="a47456b4d520aee1cba80bf6e20f6685a"></a>
@@ -6689,14 +7311,14 @@
<tr>
<td class="memname"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> arm_compute::calculate_max_window_horizontal </td>
<td>(</td>
- <td class="paramtype">const ITensorInfo & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> & </td>
<td class="paramname"><em>info</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Steps & </td>
- <td class="paramname"><em>steps</em> = <code>Steps()</code>, </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a> & </td>
+ <td class="paramname"><em>steps</em> = <code><a class="el" href="classarm__compute_1_1_steps.xhtml">Steps</a>()</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -6707,8 +7329,8 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">BorderSize </td>
- <td class="paramname"><em>border_size</em> = <code>BorderSize()</code> </td>
+ <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> </td>
+ <td class="paramname"><em>border_size</em> = <code><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>()</code> </td>
</tr>
<tr>
<td></td>
@@ -6730,6 +7352,8 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The maximum window the kernel can be executed on. </dd></dl>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00407">update_window_and_padding()</a>.</p>
+
</div>
</div>
<a class="anchor" id="ae3c6412e9c2b3b6c75a577f700e9b228"></a>
@@ -6742,25 +7366,25 @@
<tr>
<td class="memname"><a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> calculate_valid_region_scale </td>
<td>(</td>
- <td class="paramtype">const ITensorInfo & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> & </td>
<td class="paramname"><em>src_info</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const TensorShape & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> & </td>
<td class="paramname"><em>dst_shape</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">InterpolationPolicy </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> </td>
<td class="paramname"><em>policy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">BorderSize </td>
+ <td class="paramtype"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> </td>
<td class="paramname"><em>border_size</em>, </td>
</tr>
<tr>
@@ -6795,38 +7419,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The corrispondent valid region </dd></dl>
-<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00258">258</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00290">290</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00123">ValidRegion::anchor</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00203">BorderSize::left</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00109">Dimensions< T >::num_dimensions()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions< T >::set()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00074">TensorShape::set()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00115">Dimensions< T >::set_num_dimensions()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00124">ValidRegion::shape</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00200">BorderSize::top</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">ITensorInfo::valid_region()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00259"></a><span class="lineno"> 259</span> {</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keyword">const</span> <span class="keyword">auto</span> wr = <span class="keyword">static_cast<</span><span class="keywordtype">float</span><span class="keyword">></span>(dst_shape[0]) / static_cast<float>(src_info.tensor_shape()[0]);</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keyword">const</span> <span class="keyword">auto</span> hr = <span class="keyword">static_cast<</span><span class="keywordtype">float</span><span class="keyword">></span>(dst_shape[1]) / static_cast<float>(src_info.tensor_shape()[1]);</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  Coordinates anchor;</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  anchor.set_num_dimensions(src_info.tensor_shape().num_dimensions());</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  TensorShape new_dst_shape(dst_shape);</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  anchor.set(0, (policy == InterpolationPolicy::BILINEAR</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  && border_undefined) ?</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  ((static_cast<int>(src_info.valid_region().anchor[0]) + border_size.left + 0.5f) * wr - 0.5f) :</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  ((static_cast<int>(src_info.valid_region().anchor[0]) + 0.5f) * wr - 0.5f));</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  anchor.set(1, (policy == InterpolationPolicy::BILINEAR</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  && border_undefined) ?</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  ((static_cast<int>(src_info.valid_region().anchor[1]) + border_size.top + 0.5f) * hr - 0.5f) :</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  ((static_cast<int>(src_info.valid_region().anchor[1]) + 0.5f) * hr - 0.5f));</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordtype">float</span> shape_out_x = (policy == InterpolationPolicy::BILINEAR</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  && border_undefined) ?</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  ((static_cast<int>(src_info.valid_region().anchor[0]) + static_cast<int>(src_info.valid_region().shape[0]) - 1) - 1 + 0.5f) * wr - 0.5f :</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  ((static_cast<int>(src_info.valid_region().anchor[0]) + static_cast<int>(src_info.valid_region().shape[0])) + 0.5f) * wr - 0.5f;</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keywordtype">float</span> shape_out_y = (policy == InterpolationPolicy::BILINEAR</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  && border_undefined) ?</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  ((static_cast<int>(src_info.valid_region().anchor[1]) + static_cast<int>(src_info.valid_region().shape[1]) - 1) - 1 + 0.5f) * hr - 0.5f :</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  ((static_cast<int>(src_info.valid_region().anchor[1]) + static_cast<int>(src_info.valid_region().shape[1])) + 0.5f) * hr - 0.5f;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  new_dst_shape.set(0, shape_out_x - anchor[0]);</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  new_dst_shape.set(1, shape_out_y - anchor[1]);</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordflow">return</span> ValidRegion(std::move(anchor), std::move(new_dst_shape));</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> }</div>
-</div><!-- fragment -->
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00185">ValidRegion::anchor</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00265">BorderSize::left</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions< T >::num_dimensions()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions< T >::set()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00074">TensorShape::set()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00128">Dimensions< T >::set_num_dimensions()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00186">ValidRegion::shape</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00262">BorderSize::top</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a74dfd07380a290c34fe7c8e065029b95">ITensorInfo::valid_region()</a>.</p>
+
+<p>Referenced by <a class="el" href="_c_l_2_scale_8cpp_source.xhtml#l00070">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_c_l_2_scale_8cpp_source.xhtml#l00119">arm_compute::test::validation::FIXTURE_DATA_TEST_CASE()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00534">permute()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00291"></a><span class="lineno"> 291</span> {</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keyword">const</span> <span class="keyword">auto</span> wr = <span class="keyword">static_cast<</span><span class="keywordtype">float</span><span class="keyword">></span>(dst_shape[0]) / static_cast<float>(src_info.tensor_shape()[0]);</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <span class="keyword">const</span> <span class="keyword">auto</span> hr = <span class="keyword">static_cast<</span><span class="keywordtype">float</span><span class="keyword">></span>(dst_shape[1]) / static_cast<float>(src_info.tensor_shape()[1]);</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  Coordinates anchor;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  anchor.set_num_dimensions(src_info.tensor_shape().num_dimensions());</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  TensorShape new_dst_shape(dst_shape);</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  anchor.set(0, (policy == InterpolationPolicy::BILINEAR</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  && border_undefined) ?</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  ((static_cast<int>(src_info.valid_region().anchor[0]) + border_size.left + 0.5f) * wr - 0.5f) :</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  ((static_cast<int>(src_info.valid_region().anchor[0]) + 0.5f) * wr - 0.5f));</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  anchor.set(1, (policy == InterpolationPolicy::BILINEAR</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  && border_undefined) ?</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  ((static_cast<int>(src_info.valid_region().anchor[1]) + border_size.top + 0.5f) * hr - 0.5f) :</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  ((static_cast<int>(src_info.valid_region().anchor[1]) + 0.5f) * hr - 0.5f));</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordtype">float</span> shape_out_x = (policy == InterpolationPolicy::BILINEAR</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  && border_undefined) ?</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  ((static_cast<int>(src_info.valid_region().anchor[0]) + static_cast<int>(src_info.valid_region().shape[0]) - 1) - 1 + 0.5f) * wr - 0.5f :</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  ((static_cast<int>(src_info.valid_region().anchor[0]) + static_cast<int>(src_info.valid_region().shape[0])) + 0.5f) * wr - 0.5f;</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keywordtype">float</span> shape_out_y = (policy == InterpolationPolicy::BILINEAR</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  && border_undefined) ?</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  ((static_cast<int>(src_info.valid_region().anchor[1]) + static_cast<int>(src_info.valid_region().shape[1]) - 1) - 1 + 0.5f) * hr - 0.5f :</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  ((static_cast<int>(src_info.valid_region().anchor[1]) + static_cast<int>(src_info.valid_region().shape[1])) + 0.5f) * hr - 0.5f;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  new_dst_shape.set(0, shape_out_x - anchor[0]);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  new_dst_shape.set(1, shape_out_y - anchor[1]);</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <span class="keywordflow">return</span> ValidRegion(std::move(anchor), std::move(new_dst_shape));</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="adf0c6059174045f80af46a0f1fb57bc6"></a>
@@ -6864,16 +7462,12 @@
<p>Computes the smallest number larger or equal to value that is a multiple of divisor. </p>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00044">44</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00045">45</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
-<p>Referenced by <a class="el" href="_window_8inl_source.xhtml#l00097">Window::scale()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> {</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> < 0 || divisor <= 0);</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">return</span> ((<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> + divisor - 1) / divisor) * divisor;</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
+<p>Referenced by <a class="el" href="_c_l_2_remap_8cpp_source.xhtml#l00053">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="_window_8inl_source.xhtml#l00097">Window::scale()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> {</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> < 0 || divisor <= 0);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordflow">return</span> ((<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> + divisor - 1) / divisor) * divisor;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
</div><!-- fragment -->
</div>
@@ -6927,15 +7521,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Clamped value. </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00201">201</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00265">265</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, and <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">arm_compute::test::fixed_point_arithmetic::detail::min()</a>.</p>
-<p>Referenced by <a class="el" href="warp__helpers_8h_source.xhtml#l00033">clamp_to_border()</a>, <a class="el" href="roi__pooling__layer_8cl_source.xhtml#l00123">roi_pooling_layer()</a>, and <a class="el" href="_c_p_p_2_scale_8cpp_source.xhtml#l00039">arm_compute::test::validation::reference::scale()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span> {</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(lower, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(n, upper));</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> }</div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point< T > min(fixed_point< T > x, fixed_point< T > y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">FixedPoint.h:884</a></div></div>
+<p>Referenced by <a class="el" href="asymm__helper_8h_source.xhtml#l00200">asymm_exp_on_negative_values()</a>, <a class="el" href="warp__helpers_8h_source.xhtml#l00034">clamp_to_border_with_size()</a>, <a class="el" href="roi__pooling__layer_8cl_source.xhtml#l00123">roi_pooling_layer()</a>, and <a class="el" href="reference_2_scale_8cpp_source.xhtml#l00040">arm_compute::test::validation::reference::scale()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00266"></a><span class="lineno"> 266</span> {</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(lower, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(n, upper));</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point< T > min(fixed_point< T > x, fixed_point< T > y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">FixedPoint.h:884</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point< T > max(fixed_point< T > x, fixed_point< T > y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">FixedPoint.h:889</a></div></div>
</div><!-- fragment -->
</div>
@@ -6959,7 +7550,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Window & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
<td class="paramname"><em>win</em> </td>
</tr>
<tr>
@@ -6972,46 +7563,8 @@
<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00550">550</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00551"></a><span class="lineno"> 551</span> {</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  win.validate();</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> </div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">></span>(input);</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> </div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  <span class="comment">// UV's width and height are subsampled</span></div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  Window win_uv(win);</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  win_uv.validate();</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> </div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  Iterator in_y(input_ptr->plane(0), win);</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  Iterator in_u(input_ptr->plane(1), win_uv);</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  Iterator in_v(input_ptr->plane(2), win_uv);</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  Iterator out_y(output_ptr->plane(0), win);</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  Iterator out_uv(output_ptr->plane(1), win_uv);</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> </div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  {</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr->plane(0)->info()->strides_in_bytes().y());</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  uint8x16x2_t ta_uv;</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  ta_uv.val[0] = vld1q_u8(in_u.ptr());</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  ta_uv.val[1] = vld1q_u8(in_v.ptr());</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> </div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  vst2q_u8(out_y.ptr(), ta_y_top);</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), ta_y_bottom);</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  vst2q_u8(out_uv.ptr(), ta_uv);</div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  },</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  in_y, in_u, in_v, out_y, out_uv);</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00551"></a><span class="lineno"> 551</span> {</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  win.validate();</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span> </div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span> </div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  Window win_uv(win);</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  win_uv.validate();</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span> </div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  Iterator in_y(input_ptr->plane(0), win);</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  Iterator in_u(input_ptr->plane(1), win_uv);</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  Iterator in_v(input_ptr->plane(2), win_uv);</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  Iterator out_uv(output_ptr->plane(1), win_uv);</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span> </div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  {</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr->plane(0)->info()->strides_in_bytes().y());</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  uint8x16x2_t ta_uv;</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  ta_uv.val[0] = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  ta_uv.val[1] = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span> </div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  vst2q_u8(out_uv.ptr(), ta_uv);</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  },</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  in_y, in_u, in_v, out_y, out_uv);</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
</div><!-- fragment -->
</div>
@@ -7035,7 +7588,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Window & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
<td class="paramname"><em>win</em> </td>
</tr>
<tr>
@@ -7048,67 +7601,11 @@
<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00445">445</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">ITensorInfo::strides_in_bytes()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions< T >::y()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00446"></a><span class="lineno"> 446</span> {</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
-<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  win.validate();</div>
-<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">></span>(input);</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(output);</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> </div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  constexpr <span class="keyword">auto</span> element_size = alpha ? 32 : 24;</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keyword">const</span> <span class="keyword">auto</span> out_stride = output_ptr-><a class="code" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">info</a>()-><a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">strides_in_bytes</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">y</a>();</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <span class="comment">// UV's width and height are subsampled</span></div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  Window win_uv(win);</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  win_uv.validate();</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  Iterator in_y(input_ptr->plane(0), win);</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  Iterator in_u(input_ptr->plane(1), win_uv);</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  Iterator in_v(input_ptr->plane(2), win_uv);</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  Iterator out(output_ptr, win);</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  {</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr->plane(0)->info()->strides_in_bytes().y());</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_u = vld1q_u8(in_u.ptr());</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_v = vld1q_u8(in_v.ptr());</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <span class="comment">//ta_u.val[0] = U0 U2 U4 U6 ...</span></div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  <span class="comment">//ta_v.val[0] = V0 V2 V4 V6 ...</span></div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> </div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  float32x4x4_t yvec_top, yyvec_top, yvec_bottom, yyvec_bottom, uvec, vvec;</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  convert_uint8x16_to_float32x4x4(ta_y_top.val[0], yvec_top);</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  convert_uint8x16_to_float32x4x4(ta_y_top.val[1], yyvec_top);</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0], yvec_bottom);</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1], yyvec_bottom);</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  convert_uint8x16_to_float32x4x4(ta_u, uvec);</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  convert_uint8x16_to_float32x4x4(ta_v, vvec);</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  yuyv_to_rgb_calculation(yvec_top.val[0], uvec.val[0], yyvec_top.val[0], vvec.val[0], out.ptr() + 0 * element_size, alpha);</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  yuyv_to_rgb_calculation(yvec_top.val[1], uvec.val[1], yyvec_top.val[1], vvec.val[1], out.ptr() + 1 * element_size, alpha);</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  yuyv_to_rgb_calculation(yvec_top.val[2], uvec.val[2], yyvec_top.val[2], vvec.val[2], out.ptr() + 2 * element_size, alpha);</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  yuyv_to_rgb_calculation(yvec_top.val[3], uvec.val[3], yyvec_top.val[3], vvec.val[3], out.ptr() + 3 * element_size, alpha);</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> </div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  yuyv_to_rgb_calculation(yvec_bottom.val[0], uvec.val[0], yyvec_bottom.val[0], vvec.val[0], out.ptr() + out_stride + 0 * element_size, alpha);</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  yuyv_to_rgb_calculation(yvec_bottom.val[1], uvec.val[1], yyvec_bottom.val[1], vvec.val[1], out.ptr() + out_stride + 1 * element_size, alpha);</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  yuyv_to_rgb_calculation(yvec_bottom.val[2], uvec.val[2], yyvec_bottom.val[2], vvec.val[2], out.ptr() + out_stride + 2 * element_size, alpha);</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  yuyv_to_rgb_calculation(yvec_bottom.val[3], uvec.val[3], yyvec_bottom.val[3], vvec.val[3], out.ptr() + out_stride + 3 * element_size, alpha);</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  },</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  in_y, in_u, in_v, out);</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00109">arm_compute::test::validation::alpha</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">ITensorInfo::strides_in_bytes()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions< T >::y()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00446"></a><span class="lineno"> 446</span> {</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  win.validate();</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span> </div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  constexpr <span class="keyword">auto</span> element_size = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> ? 32 : 24;</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keyword">const</span> <span class="keyword">auto</span> out_stride = output_ptr->info()->strides_in_bytes().y();</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  Window win_uv(win);</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  win_uv.validate();</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  Iterator in_y(input_ptr->plane(0), win);</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  Iterator in_u(input_ptr->plane(1), win_uv);</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  Iterator in_v(input_ptr->plane(2), win_uv);</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  Iterator out(output_ptr, win);</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  {</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr->plane(0)->info()->strides_in_bytes().y());</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_u = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_v = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <span class="comment">//ta_u.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  <span class="comment">//ta_v.val[0] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span> </div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  float32x4x4_t yvec_top, yyvec_top, yvec_bottom, yyvec_bottom, uvec, vvec;</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  convert_uint8x16_to_float32x4x4(ta_y_top.val[0], yvec_top);</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  convert_uint8x16_to_float32x4x4(ta_y_top.val[1], yyvec_top);</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0], yvec_bottom);</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1], yyvec_bottom);</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  convert_uint8x16_to_float32x4x4(ta_u, uvec);</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  convert_uint8x16_to_float32x4x4(ta_v, vvec);</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  yuyv_to_rgb_calculation(yvec_top.val[0], uvec.val[0], yyvec_top.val[0], vvec.val[0], out.ptr() + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  yuyv_to_rgb_calculation(yvec_top.val[1], uvec.val[1], yyvec_top.val[1], vvec.val[1], out.ptr() + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  yuyv_to_rgb_calculation(yvec_top.val[2], uvec.val[2], yyvec_top.val[2], vvec.val[2], out.ptr() + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  yuyv_to_rgb_calculation(yvec_top.val[3], uvec.val[3], yyvec_top.val[3], vvec.val[3], out.ptr() + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span> </div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  yuyv_to_rgb_calculation(yvec_bottom.val[0], uvec.val[0], yyvec_bottom.val[0], vvec.val[0], out.ptr() + out_stride + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  yuyv_to_rgb_calculation(yvec_bottom.val[1], uvec.val[1], yyvec_bottom.val[1], vvec.val[1], out.ptr() + out_stride + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  yuyv_to_rgb_calculation(yvec_bottom.val[2], uvec.val[2], yyvec_bottom.val[2], vvec.val[2], out.ptr() + out_stride + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  yuyv_to_rgb_calculation(yvec_bottom.val[3], uvec.val[3], yyvec_bottom.val[3], vvec.val[3], out.ptr() + out_stride + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  },</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  in_y, in_u, in_v, out);</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_i_tensor_xhtml_a0e95dc1e53c361348314873b168ae237"><div class="ttname"><a href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">arm_compute::ITensor::info</a></div><div class="ttdeci">virtual ITensorInfo * info() const =0</div><div class="ttdoc">Interface to be implemented by the child class to return the tensor's metadata. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a691c9cb93365c2e33f3429de43244098"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">arm_compute::Dimensions::y</a></div><div class="ttdeci">T y() const </div><div class="ttdoc">Alias to access the size of the second dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00086">Dimensions.h:86</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_i_tensor_info_xhtml_a6b14f175bf5281f57b561e2d4e4b1f1f"><div class="ttname"><a href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">arm_compute::ITensorInfo::strides_in_bytes</a></div><div class="ttdeci">virtual const Strides & strides_in_bytes() const =0</div><div class="ttdoc">The strides in bytes for accessing each dimension of the tensor. </div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00109">GEMM.cpp:109</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -7131,7 +7628,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Window & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
<td class="paramname"><em>win</em> </td>
</tr>
<tr>
@@ -7144,57 +7641,8 @@
<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00737">737</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00738"></a><span class="lineno"> 738</span> {</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
-<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  win.validate();</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> </div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">></span>(input);</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> </div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  <span class="comment">// UV's width and height are subsampled</span></div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  Window win_uv(win);</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>  win_uv.validate();</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> </div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>  Iterator in_y(input_ptr->plane(0), win);</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  Iterator in_u(input_ptr->plane(1), win_uv);</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  Iterator in_v(input_ptr->plane(2), win_uv);</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  Iterator out_y(output_ptr->plane(0), win);</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  Iterator out_u(output_ptr->plane(1), win);</div>
-<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  Iterator out_v(output_ptr->plane(2), win);</div>
-<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> </div>
-<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  {</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr->plane(0)->info()->strides_in_bytes().y());</div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_u = vld1q_u8(in_u.ptr());</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_v = vld1q_u8(in_v.ptr());</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <span class="comment">//ta_u = U0 U2 U4 U6 ...</span></div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  <span class="comment">//ta_v = V0 V2 V4 V6 ...</span></div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> </div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  vst2q_u8(out_y.ptr(), ta_y_top);</div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), ta_y_bottom);</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> </div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  uint8x16x2_t uvec;</div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  uvec.val[0] = ta_u;</div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  uvec.val[1] = ta_u;</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  vst2q_u8(out_u.ptr(), uvec);</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  vst2q_u8(out_u.ptr() + output_ptr->plane(1)->info()->strides_in_bytes().y(), uvec);</div>
-<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> </div>
-<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  uint8x16x2_t vvec;</div>
-<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  vvec.val[0] = ta_v;</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  vvec.val[1] = ta_v;</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  vst2q_u8(out_v.ptr(), vvec);</div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  vst2q_u8(out_v.ptr() + output_ptr->plane(2)->info()->strides_in_bytes().y(), vvec);</div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  },</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  in_y, in_u, in_v, out_y, out_u, out_v);</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00738"></a><span class="lineno"> 738</span> {</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  win.validate();</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span> </div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span> </div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  Window win_uv(win);</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>  win_uv.validate();</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span> </div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>  Iterator in_y(input_ptr->plane(0), win);</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  Iterator in_u(input_ptr->plane(1), win_uv);</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  Iterator in_v(input_ptr->plane(2), win_uv);</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  Iterator out_u(output_ptr->plane(1), win);</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  Iterator out_v(output_ptr->plane(2), win);</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span> </div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  {</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr->plane(0)->info()->strides_in_bytes().y());</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_u = vld1q_u8(in_u.ptr());</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_v = vld1q_u8(in_v.ptr());</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <span class="comment">//ta_u = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  <span class="comment">//ta_v = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span> </div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span> </div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  uint8x16x2_t uvec;</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  uvec.val[0] = ta_u;</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  uvec.val[1] = ta_u;</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  vst2q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  vst2q_u8(out_u.ptr() + output_ptr->plane(1)->info()->strides_in_bytes().y(), uvec);</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span> </div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  uint8x16x2_t vvec;</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  vvec.val[0] = ta_v;</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  vvec.val[1] = ta_v;</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  vst2q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  vst2q_u8(out_v.ptr() + output_ptr->plane(2)->info()->strides_in_bytes().y(), vvec);</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  },</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  in_y, in_u, in_v, out_y, out_u, out_v);</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
</div><!-- fragment -->
</div>
@@ -7218,7 +7666,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Window & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
<td class="paramname"><em>win</em> </td>
</tr>
<tr>
@@ -7231,47 +7679,8 @@
<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00591">591</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00592"></a><span class="lineno"> 592</span> {</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  win.validate();</div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> </div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">></span>(input);</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> </div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> </div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  <span class="comment">// UV's width and height are subsampled</span></div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  Window win_uv(win);</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  win_uv.validate();</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> </div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  Iterator in_y(input_ptr->plane(0), win);</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>  Iterator in_uv(input_ptr->plane(1), win_uv);</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>  Iterator out_y(output_ptr->plane(0), win);</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  Iterator out_u(output_ptr->plane(1), win_uv);</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  Iterator out_v(output_ptr->plane(2), win_uv);</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> </div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  {</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr->plane(0)->info()->strides_in_bytes().y());</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> </div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  vst2q_u8(out_y.ptr(), ta_y_top);</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), ta_y_bottom);</div>
-<div class="line"><a name="l00626"></a><span class="lineno"> 626</span>  vst1q_u8(out_u.ptr(), ta_uv.val[0 + shift]);</div>
-<div class="line"><a name="l00627"></a><span class="lineno"> 627</span>  vst1q_u8(out_v.ptr(), ta_uv.val[1 - shift]);</div>
-<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  },</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  in_y, in_uv, out_y, out_u, out_v);</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00592"></a><span class="lineno"> 592</span> {</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  win.validate();</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span> </div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span> </div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span> </div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  Window win_uv(win);</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  win_uv.validate();</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span> </div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  Iterator in_y(input_ptr->plane(0), win);</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>  Iterator in_uv(input_ptr->plane(1), win_uv);</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  Iterator out_u(output_ptr->plane(1), win_uv);</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  Iterator out_v(output_ptr->plane(2), win_uv);</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span> </div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  {</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr->plane(0)->info()->strides_in_bytes().y());</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span> </div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>  vst1q_u8(out_u.ptr(), ta_uv.val[0 + shift]);</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>  vst1q_u8(out_v.ptr(), ta_uv.val[1 - shift]);</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  },</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  in_y, in_uv, out_y, out_u, out_v);</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
</div><!-- fragment -->
</div>
@@ -7295,7 +7704,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Window & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
<td class="paramname"><em>win</em> </td>
</tr>
<tr>
@@ -7308,66 +7717,11 @@
<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00389">389</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">ITensorInfo::strides_in_bytes()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions< T >::y()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00390"></a><span class="lineno"> 390</span> {</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  win.validate();</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">></span>(input);</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(output);</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  constexpr <span class="keyword">auto</span> element_size = alpha ? 32 : 24;</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <span class="keyword">const</span> <span class="keyword">auto</span> out_stride = output_ptr-><a class="code" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">info</a>()-><a class="code" href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">strides_in_bytes</a>().<a class="code" href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">y</a>();</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="comment">// UV's width and height are subsampled</span></div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  Window win_uv(win);</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win.x().step() / 2));</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  win_uv.validate();</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  Iterator in_y(input_ptr->plane(0), win);</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  Iterator in_uv(input_ptr->plane(1), win_uv);</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  Iterator out(output_ptr, win);</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  {</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr->plane(0)->info()->strides_in_bytes().y());</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  float32x4x4_t yvec_top, yyvec_top, yvec_bottom, yyvec_bottom, uvec, vvec;</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  convert_uint8x16_to_float32x4x4(ta_y_top.val[0], yvec_top);</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  convert_uint8x16_to_float32x4x4(ta_y_top.val[1], yyvec_top);</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0], yvec_bottom);</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1], yyvec_bottom);</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  convert_uint8x16_to_float32x4x4(ta_uv.val[0 + shift], uvec);</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  convert_uint8x16_to_float32x4x4(ta_uv.val[1 - shift], vvec);</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  yuyv_to_rgb_calculation(yvec_top.val[0], uvec.val[0], yyvec_top.val[0], vvec.val[0], out.ptr() + 0 * element_size, alpha);</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  yuyv_to_rgb_calculation(yvec_top.val[1], uvec.val[1], yyvec_top.val[1], vvec.val[1], out.ptr() + 1 * element_size, alpha);</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  yuyv_to_rgb_calculation(yvec_top.val[2], uvec.val[2], yyvec_top.val[2], vvec.val[2], out.ptr() + 2 * element_size, alpha);</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  yuyv_to_rgb_calculation(yvec_top.val[3], uvec.val[3], yyvec_top.val[3], vvec.val[3], out.ptr() + 3 * element_size, alpha);</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  yuyv_to_rgb_calculation(yvec_bottom.val[0], uvec.val[0], yyvec_bottom.val[0], vvec.val[0], out.ptr() + out_stride + 0 * element_size, alpha);</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  yuyv_to_rgb_calculation(yvec_bottom.val[1], uvec.val[1], yyvec_bottom.val[1], vvec.val[1], out.ptr() + out_stride + 1 * element_size, alpha);</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  yuyv_to_rgb_calculation(yvec_bottom.val[2], uvec.val[2], yyvec_bottom.val[2], vvec.val[2], out.ptr() + out_stride + 2 * element_size, alpha);</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  yuyv_to_rgb_calculation(yvec_bottom.val[3], uvec.val[3], yyvec_bottom.val[3], vvec.val[3], out.ptr() + out_stride + 3 * element_size, alpha);</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  },</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  in_y, in_uv, out);</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00109">arm_compute::test::validation::alpha</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">ITensorInfo::strides_in_bytes()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00086">Dimensions< T >::y()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00390"></a><span class="lineno"> 390</span> {</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  win.validate();</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  constexpr <span class="keyword">auto</span> element_size = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> ? 32 : 24;</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <span class="keyword">const</span> <span class="keyword">auto</span> out_stride = output_ptr->info()->strides_in_bytes().y();</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  Window win_uv(win);</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win.x().step() / 2));</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  win_uv.validate();</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  Iterator in_y(input_ptr->plane(0), win);</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  Iterator in_uv(input_ptr->plane(1), win_uv);</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  Iterator out(output_ptr, win);</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  {</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr->plane(0)->info()->strides_in_bytes().y());</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  float32x4x4_t yvec_top, yyvec_top, yvec_bottom, yyvec_bottom, uvec, vvec;</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  convert_uint8x16_to_float32x4x4(ta_y_top.val[0], yvec_top);</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  convert_uint8x16_to_float32x4x4(ta_y_top.val[1], yyvec_top);</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  convert_uint8x16_to_float32x4x4(ta_y_bottom.val[0], yvec_bottom);</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  convert_uint8x16_to_float32x4x4(ta_y_bottom.val[1], yyvec_bottom);</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  convert_uint8x16_to_float32x4x4(ta_uv.val[0 + shift], uvec);</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  convert_uint8x16_to_float32x4x4(ta_uv.val[1 - shift], vvec);</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  yuyv_to_rgb_calculation(yvec_top.val[0], uvec.val[0], yyvec_top.val[0], vvec.val[0], out.ptr() + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  yuyv_to_rgb_calculation(yvec_top.val[1], uvec.val[1], yyvec_top.val[1], vvec.val[1], out.ptr() + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  yuyv_to_rgb_calculation(yvec_top.val[2], uvec.val[2], yyvec_top.val[2], vvec.val[2], out.ptr() + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  yuyv_to_rgb_calculation(yvec_top.val[3], uvec.val[3], yyvec_top.val[3], vvec.val[3], out.ptr() + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  yuyv_to_rgb_calculation(yvec_bottom.val[0], uvec.val[0], yyvec_bottom.val[0], vvec.val[0], out.ptr() + out_stride + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  yuyv_to_rgb_calculation(yvec_bottom.val[1], uvec.val[1], yyvec_bottom.val[1], vvec.val[1], out.ptr() + out_stride + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  yuyv_to_rgb_calculation(yvec_bottom.val[2], uvec.val[2], yyvec_bottom.val[2], vvec.val[2], out.ptr() + out_stride + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  yuyv_to_rgb_calculation(yvec_bottom.val[3], uvec.val[3], yyvec_bottom.val[3], vvec.val[3], out.ptr() + out_stride + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  },</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  in_y, in_uv, out);</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_i_tensor_xhtml_a0e95dc1e53c361348314873b168ae237"><div class="ttname"><a href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">arm_compute::ITensor::info</a></div><div class="ttdeci">virtual ITensorInfo * info() const =0</div><div class="ttdoc">Interface to be implemented by the child class to return the tensor's metadata. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_dimensions_xhtml_a691c9cb93365c2e33f3429de43244098"><div class="ttname"><a href="classarm__compute_1_1_dimensions.xhtml#a691c9cb93365c2e33f3429de43244098">arm_compute::Dimensions::y</a></div><div class="ttdeci">T y() const </div><div class="ttdoc">Alias to access the size of the second dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_dimensions_8h_source.xhtml#l00086">Dimensions.h:86</a></div></div>
-<div class="ttc" id="classarm__compute_1_1_i_tensor_info_xhtml_a6b14f175bf5281f57b561e2d4e4b1f1f"><div class="ttname"><a href="classarm__compute_1_1_i_tensor_info.xhtml#a6b14f175bf5281f57b561e2d4e4b1f1f">arm_compute::ITensorInfo::strides_in_bytes</a></div><div class="ttdeci">virtual const Strides & strides_in_bytes() const =0</div><div class="ttdoc">The strides in bytes for accessing each dimension of the tensor. </div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00109">GEMM.cpp:109</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -7390,7 +7744,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Window & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
<td class="paramname"><em>win</em> </td>
</tr>
<tr>
@@ -7403,57 +7757,8 @@
<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00686">686</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00687"></a><span class="lineno"> 687</span> {</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  win.validate();</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> </div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">></span>(input);</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> </div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> </div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  <span class="comment">// UV's width and height are subsampled</span></div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  Window win_uv(win);</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  win_uv.validate();</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> </div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  Iterator in_y(input_ptr->plane(0), win);</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  Iterator in_uv(input_ptr->plane(1), win_uv);</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>  Iterator out_y(output_ptr->plane(0), win);</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>  Iterator out_u(output_ptr->plane(1), win);</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  Iterator out_v(output_ptr->plane(2), win);</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> </div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  {</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr->plane(0)->info()->strides_in_bytes().y());</div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> </div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  vst2q_u8(out_y.ptr(), ta_y_top);</div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), ta_y_bottom);</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> </div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>  uint8x16x2_t uvec;</div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span>  uvec.val[0] = ta_uv.val[0 + shift];</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>  uvec.val[1] = ta_uv.val[0 + shift];</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  vst2q_u8(out_u.ptr(), uvec);</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  vst2q_u8(out_u.ptr() + output_ptr->plane(1)->info()->strides_in_bytes().y(), uvec);</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> </div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  uint8x16x2_t vvec;</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  vvec.val[0] = ta_uv.val[1 - shift];</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  vvec.val[1] = ta_uv.val[1 - shift];</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  vst2q_u8(out_v.ptr(), vvec);</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  vst2q_u8(out_v.ptr() + output_ptr->plane(2)->info()->strides_in_bytes().y(), vvec);</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  },</div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  in_y, in_uv, out_y, out_u, out_v);</div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00687"></a><span class="lineno"> 687</span> {</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  win.validate();</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span> </div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span>IMultiImage *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span> </div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  constexpr <span class="keyword">auto</span> shift = uv ? 0 : 1;</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span> </div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  Window win_uv(win);</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  win_uv.validate();</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span> </div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  Iterator in_y(input_ptr->plane(0), win);</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  Iterator in_uv(input_ptr->plane(1), win_uv);</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>  Iterator out_u(output_ptr->plane(1), win);</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  Iterator out_v(output_ptr->plane(2), win);</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span> </div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  {</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_top = vld2q_u8(in_y.ptr());</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_y_bottom = vld2q_u8(in_y.ptr() + input_ptr->plane(0)->info()->strides_in_bytes().y());</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_uv = vld2q_u8(in_uv.ptr());</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  <span class="comment">//ta_y.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>  <span class="comment">//ta_y.val[1] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  <span class="comment">//ta_uv.val[0] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  <span class="comment">//ta_uv.val[1] = V0 V2 V4 V6 ...</span></div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span> </div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  vst2q_u8(out_y.ptr(), ta_y_top);</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), ta_y_bottom);</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span> </div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>  uint8x16x2_t uvec;</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>  uvec.val[0] = ta_uv.val[0 + shift];</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>  uvec.val[1] = ta_uv.val[0 + shift];</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  vst2q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  vst2q_u8(out_u.ptr() + output_ptr->plane(1)->info()->strides_in_bytes().y(), uvec);</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span> </div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  uint8x16x2_t vvec;</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  vvec.val[0] = ta_uv.val[1 - shift];</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  vvec.val[1] = ta_uv.val[1 - shift];</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  vst2q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  vst2q_u8(out_v.ptr() + output_ptr->plane(2)->info()->strides_in_bytes().y(), vvec);</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  },</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  in_y, in_uv, out_y, out_u, out_v);</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
</div><!-- fragment -->
</div>
@@ -7477,7 +7782,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Window & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
<td class="paramname"><em>win</em> </td>
</tr>
<tr>
@@ -7490,44 +7795,11 @@
<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00825">825</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00826"></a><span class="lineno"> 826</span> {</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  win.validate();</div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> </div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(input);</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div>
-<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> </div>
-<div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  <span class="comment">// UV's width and height are subsampled</span></div>
-<div class="line"><a name="l00835"></a><span class="lineno"> 835</span>  Window win_uv(win);</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  win_uv.validate();</div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> </div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span>  Iterator in(input_ptr, win);</div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  Iterator out_y(output_ptr->plane(0), win);</div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  Iterator out_u(output_ptr->plane(1), win_uv);</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span>  Iterator out_v(output_ptr->plane(2), win_uv);</div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> </div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span>  {</div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_top = load_rgb(in.ptr(), alpha);</div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_bottom = load_rgb(in.ptr() + input_ptr->info()->strides_in_bytes().y(), alpha);</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span>  <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div>
-<div class="line"><a name="l00850"></a><span class="lineno"> 850</span>  <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div>
-<div class="line"><a name="l00851"></a><span class="lineno"> 851</span>  <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div>
-<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> </div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span>  store_rgb_to_iyuv(ta_rgb_top.val[0], ta_rgb_top.val[1], ta_rgb_top.val[2],</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span>  ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  out_y.ptr(), out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(),</div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  out_u.ptr(), out_v.ptr());</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span>  },</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  in, out_y, out_u, out_v);</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00109">arm_compute::test::validation::alpha</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00826"></a><span class="lineno"> 826</span> {</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  win.validate();</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span> </div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span> </div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>  Window win_uv(win);</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  win_uv.validate();</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span> </div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>  Iterator in(input_ptr, win);</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  Iterator out_u(output_ptr->plane(1), win_uv);</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>  Iterator out_v(output_ptr->plane(2), win_uv);</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span> </div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>  {</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_top = load_rgb(in.ptr(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_bottom = load_rgb(in.ptr() + input_ptr->info()->strides_in_bytes().y(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>  <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>  <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>  <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span> </div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>  store_rgb_to_iyuv(ta_rgb_top.val[0], ta_rgb_top.val[1], ta_rgb_top.val[2],</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>  ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  out_y.ptr(), out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(),</div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  out_u.ptr(), out_v.ptr());</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>  },</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  in, out_y, out_u, out_v);</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00109">GEMM.cpp:109</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -7550,7 +7822,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Window & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
<td class="paramname"><em>win</em> </td>
</tr>
<tr>
@@ -7563,43 +7835,11 @@
<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00789">789</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00790"></a><span class="lineno"> 790</span> {</div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  win.validate();</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> </div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(input);</div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> </div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  <span class="comment">// UV's width and height are subsampled</span></div>
-<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  Window win_uv(win);</div>
-<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
-<div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  win_uv.validate();</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> </div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  Iterator in(input_ptr, win);</div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  Iterator out_y(output_ptr->plane(0), win);</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  Iterator out_uv(output_ptr->plane(1), win_uv);</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> </div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  {</div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_top = load_rgb(in.ptr(), alpha);</div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_bottom = load_rgb(in.ptr() + input_ptr->info()->strides_in_bytes().y(), alpha);</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> </div>
-<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  store_rgb_to_nv12(ta_rgb_top.val[0], ta_rgb_top.val[1], ta_rgb_top.val[2],</div>
-<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div>
-<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  out_y.ptr(), out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(),</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  out_uv.ptr());</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  },</div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  in, out_y, out_uv);</div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00109">arm_compute::test::validation::alpha</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00790"></a><span class="lineno"> 790</span> {</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  win.validate();</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span> </div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span> </div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  <span class="comment">// UV's width and height are subsampled</span></div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  Window win_uv(win);</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  win_uv.validate();</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span> </div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  Iterator in(input_ptr, win);</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  Iterator out_uv(output_ptr->plane(1), win_uv);</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span> </div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  {</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_top = load_rgb(in.ptr(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb_bottom = load_rgb(in.ptr() + input_ptr->info()->strides_in_bytes().y(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span> </div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  store_rgb_to_nv12(ta_rgb_top.val[0], ta_rgb_top.val[1], ta_rgb_top.val[2],</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  ta_rgb_bottom.val[0], ta_rgb_bottom.val[1], ta_rgb_bottom.val[2],</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  out_y.ptr(), out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(),</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  out_uv.ptr());</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  },</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  in, out_y, out_uv);</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00109">GEMM.cpp:109</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -7622,7 +7862,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Window & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
<td class="paramname"><em>win</em> </td>
</tr>
<tr>
@@ -7635,30 +7875,8 @@
<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00303">303</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> {</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(input);</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(output);</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  Iterator in(input_ptr, win);</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  Iterator out(output_ptr, win);</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  {</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta1 = vld3q_u8(in.ptr());</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  uint8x16x4_t ta2;</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  ta2.val[0] = ta1.val[0];</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  ta2.val[1] = ta1.val[1];</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  ta2.val[2] = ta1.val[2];</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  ta2.val[3] = vdupq_n_u8(255);</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  vst4q_u8(out.ptr(), ta2);</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  },</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  in, out);</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> {</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  Iterator in(input_ptr, win);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  Iterator out(output_ptr, win);</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  {</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta1 = vld3q_u8(in.ptr());</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  uint8x16x4_t ta2;</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  ta2.val[0] = ta1.val[0];</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  ta2.val[1] = ta1.val[1];</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  ta2.val[2] = ta1.val[2];</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  ta2.val[3] = vdupq_n_u8(255);</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  vst4q_u8(out.ptr(), ta2);</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  },</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  in, out);</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
</div><!-- fragment -->
@@ -7683,7 +7901,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Window & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
<td class="paramname"><em>win</em> </td>
</tr>
<tr>
@@ -7696,35 +7914,11 @@
<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00862">862</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>, and <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00863"></a><span class="lineno"> 863</span> {</div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  win.validate();</div>
-<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> </div>
-<div class="line"><a name="l00868"></a><span class="lineno"> 868</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(input);</div>
-<div class="line"><a name="l00869"></a><span class="lineno"> 869</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> </div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span>  Iterator in(input_ptr, win);</div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  Iterator out_y(output_ptr->plane(0), win);</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  Iterator out_u(output_ptr->plane(1), win);</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  Iterator out_v(output_ptr->plane(2), win);</div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> </div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  {</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb = load_rgb(in.ptr(), alpha);</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> </div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  store_rgb_to_yuv4(ta_rgb.val[0], ta_rgb.val[1], ta_rgb.val[2],</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  out_y.ptr(), out_u.ptr(), out_v.ptr());</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  },</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  in, out_y, out_u, out_v);</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00109">arm_compute::test::validation::alpha</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>, and <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00863"></a><span class="lineno"> 863</span> {</div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  win.validate();</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span> </div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span> </div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>  Iterator in(input_ptr, win);</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  Iterator out_u(output_ptr->plane(1), win);</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  Iterator out_v(output_ptr->plane(2), win);</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span> </div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  {</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_rgb = load_rgb(in.ptr(), <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  <span class="comment">//ta_rgb.val[0] = R0 R1 R2 R3 ...</span></div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  <span class="comment">//ta_rgb.val[1] = G0 G1 G2 G3 ...</span></div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  <span class="comment">//ta_rgb.val[2] = B0 B1 B2 B3 ...</span></div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span> </div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  store_rgb_to_yuv4(ta_rgb.val[0], ta_rgb.val[1], ta_rgb.val[2],</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  out_y.ptr(), out_u.ptr(), out_v.ptr());</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  },</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  in, out_y, out_u, out_v);</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00109">GEMM.cpp:109</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -7747,7 +7941,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Window & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
<td class="paramname"><em>win</em> </td>
</tr>
<tr>
@@ -7760,29 +7954,8 @@
<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00327">327</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00328"></a><span class="lineno"> 328</span> {</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(input);</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(output);</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  Iterator in(input_ptr, win);</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  Iterator out(output_ptr, win);</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  {</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta1 = vld4q_u8(in.ptr());</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  uint8x16x3_t ta2;</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  ta2.val[0] = ta1.val[0];</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  ta2.val[1] = ta1.val[1];</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  ta2.val[2] = ta1.val[2];</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  vst3q_u8(out.ptr(), ta2);</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  },</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  in, out);</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00328"></a><span class="lineno"> 328</span> {</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  Iterator in(input_ptr, win);</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  Iterator out(output_ptr, win);</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  {</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta1 = vld4q_u8(in.ptr());</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  uint8x16x3_t ta2;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  ta2.val[0] = ta1.val[0];</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  ta2.val[1] = ta1.val[1];</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  ta2.val[2] = ta1.val[2];</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  vst3q_u8(out.ptr(), ta2);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  },</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  in, out);</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
</div><!-- fragment -->
@@ -7807,7 +7980,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Window & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
<td class="paramname"><em>win</em> </td>
</tr>
<tr>
@@ -7820,58 +7993,8 @@
<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00633">633</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00634"></a><span class="lineno"> 634</span> {</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  win.validate();</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> </div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(input);</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> </div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> </div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  <span class="comment">// Destination's UV's width and height are subsampled</span></div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  Window win_uv(win);</div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  win_uv.validate();</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> </div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  Iterator in(input_ptr, win);</div>
-<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  Iterator out_y(output_ptr->plane(0), win);</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  Iterator out_u(output_ptr->plane(1), win_uv);</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  Iterator out_v(output_ptr->plane(2), win_uv);</div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> </div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  {</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_top = vld4q_u8(in.ptr());</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_bottom = vld4q_u8(in.ptr() + input_ptr->info()->strides_in_bytes().y());</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>  <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>  <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>  <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>  <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> </div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  uint8x16x2_t yvec;</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  yvec.val[0] = ta_top.val[0 + shift];</div>
-<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  yvec.val[1] = ta_top.val[2 + shift];</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  vst2q_u8(out_y.ptr(), yvec);</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> </div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  uint8x16x2_t yyvec;</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  yyvec.val[0] = ta_bottom.val[0 + shift];</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  yyvec.val[1] = ta_bottom.val[2 + shift];</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), yyvec);</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> </div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  uint8x16_t uvec;</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  uvec = vhaddq_u8(ta_top.val[1 - shift], ta_bottom.val[1 - shift]);</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>  vst1q_u8(out_u.ptr(), uvec);</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> </div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  uint8x16_t vvec;</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>  vvec = vhaddq_u8(ta_top.val[3 - shift], ta_bottom.val[3 - shift]);</div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  vst1q_u8(out_v.ptr(), vvec);</div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  },</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  in, out_y, out_u, out_v);</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00634"></a><span class="lineno"> 634</span> {</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  win.validate();</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span> </div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span> </div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span> </div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  <span class="comment">// Destination's UV's width and height are subsampled</span></div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  Window win_uv(win);</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  win_uv.validate();</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span> </div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  Iterator in(input_ptr, win);</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  Iterator out_u(output_ptr->plane(1), win_uv);</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  Iterator out_v(output_ptr->plane(2), win_uv);</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span> </div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  {</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_top = vld4q_u8(in.ptr());</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_bottom = vld4q_u8(in.ptr() + input_ptr->info()->strides_in_bytes().y());</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>  <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>  <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>  <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>  <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span> </div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  uint8x16x2_t yvec;</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  yvec.val[0] = ta_top.val[0 + shift];</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  yvec.val[1] = ta_top.val[2 + shift];</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  vst2q_u8(out_y.ptr(), yvec);</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span> </div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  uint8x16x2_t yyvec;</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  yyvec.val[0] = ta_bottom.val[0 + shift];</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  yyvec.val[1] = ta_bottom.val[2 + shift];</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), yyvec);</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span> </div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  uint8x16_t uvec;</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  uvec = vhaddq_u8(ta_top.val[1 - shift], ta_bottom.val[1 - shift]);</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>  vst1q_u8(out_u.ptr(), uvec);</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span> </div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  uint8x16_t vvec;</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>  vvec = vhaddq_u8(ta_top.val[3 - shift], ta_bottom.val[3 - shift]);</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  vst1q_u8(out_v.ptr(), vvec);</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  },</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  in, out_y, out_u, out_v);</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
</div><!-- fragment -->
@@ -7896,7 +8019,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Window & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
<td class="paramname"><em>win</em> </td>
</tr>
<tr>
@@ -7909,54 +8032,8 @@
<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00502">502</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00503"></a><span class="lineno"> 503</span> {</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  win.validate();</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> </div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(input);</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> </div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> </div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <span class="comment">// NV12's UV's width and height are subsampled</span></div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  Window win_uv(win);</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  win_uv.validate();</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> </div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  Iterator in(input_ptr, win);</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  Iterator out_y(output_ptr->plane(0), win);</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  Iterator out_uv(output_ptr->plane(1), win_uv);</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> </div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  {</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_top = vld4q_u8(in.ptr());</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_bottom = vld4q_u8(in.ptr() + input_ptr->info()->strides_in_bytes().y());</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> </div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  uint8x16x2_t yvec;</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  yvec.val[0] = ta_top.val[0 + shift];</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  yvec.val[1] = ta_top.val[2 + shift];</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  vst2q_u8(out_y.ptr(), yvec);</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> </div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  uint8x16x2_t yyvec;</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  yyvec.val[0] = ta_bottom.val[0 + shift];</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  yyvec.val[1] = ta_bottom.val[2 + shift];</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), yyvec);</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> </div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  uint8x16x2_t uvvec;</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  uvvec.val[0] = vhaddq_u8(ta_top.val[1 - shift], ta_bottom.val[1 - shift]);</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  uvvec.val[1] = vhaddq_u8(ta_top.val[3 - shift], ta_bottom.val[3 - shift]);</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  vst2q_u8(out_uv.ptr(), uvvec);</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  },</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  in, out_y, out_uv);</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_window_8h_source.xhtml#l00043">Window::DimX</a>, <a class="el" href="_window_8h_source.xhtml#l00045">Window::DimY</a>, <a class="el" href="_window_8h_source.xhtml#l00090">Window::Dimension::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, <a class="el" href="_window_8h_source.xhtml#l00085">Window::Dimension::start()</a>, <a class="el" href="_window_8h_source.xhtml#l00095">Window::Dimension::step()</a>, <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>, <a class="el" href="_window_8h_source.xhtml#l00128">Window::x()</a>, and <a class="el" href="_window_8h_source.xhtml#l00137">Window::y()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00503"></a><span class="lineno"> 503</span> {</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  win.validate();</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span> </div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span>IMultiImage *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span> </div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span> </div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <span class="comment">// NV12's UV's width and height are subsampled</span></div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  Window win_uv(win);</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  win_uv.set(Window::DimX, Window::Dimension(win_uv.x().start() / 2, win_uv.x().end() / 2, win_uv.x().step() / 2));</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  win_uv.set(Window::DimY, Window::Dimension(win_uv.y().start() / 2, win_uv.y().end() / 2, 1));</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  win_uv.validate();</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span> </div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  Iterator in(input_ptr, win);</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  Iterator out_y(output_ptr->plane(0), win);</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  Iterator out_uv(output_ptr->plane(1), win_uv);</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span> </div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  {</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_top = vld4q_u8(in.ptr());</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta_bottom = vld4q_u8(in.ptr() + input_ptr->info()->strides_in_bytes().y());</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span> </div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  uint8x16x2_t yvec;</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  yvec.val[0] = ta_top.val[0 + shift];</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  yvec.val[1] = ta_top.val[2 + shift];</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  vst2q_u8(out_y.ptr(), yvec);</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span> </div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  uint8x16x2_t yyvec;</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  yyvec.val[0] = ta_bottom.val[0 + shift];</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  yyvec.val[1] = ta_bottom.val[2 + shift];</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  vst2q_u8(out_y.ptr() + output_ptr->plane(0)->info()->strides_in_bytes().y(), yyvec);</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span> </div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  uint8x16x2_t uvvec;</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  uvvec.val[0] = vhaddq_u8(ta_top.val[1 - shift], ta_bottom.val[1 - shift]);</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  uvvec.val[1] = vhaddq_u8(ta_top.val[3 - shift], ta_bottom.val[3 - shift]);</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  vst2q_u8(out_uv.ptr(), uvvec);</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  },</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  in, out_y, out_uv);</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
</div><!-- fragment -->
@@ -7981,7 +8058,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Window & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
<td class="paramname"><em>win</em> </td>
</tr>
<tr>
@@ -7994,45 +8071,11 @@
<p>Definition at line <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00351">351</a> of file <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml">NEColorConvertHelper.inl</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00352"></a><span class="lineno"> 352</span> {</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(input);</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(output);</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  constexpr <span class="keyword">auto</span> element_size = alpha ? 32 : 24;</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  Iterator in(input_ptr, win);</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  Iterator out(output_ptr, win);</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> </div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  {</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  float32x4x4_t uvec, yvec, vvec, yyvec;</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta = vld4q_u8(in.ptr());</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  convert_uint8x16_to_float32x4x4(ta.val[0 + shift], yvec);</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  convert_uint8x16_to_float32x4x4(ta.val[1 - shift], uvec);</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  convert_uint8x16_to_float32x4x4(ta.val[2 + shift], yyvec);</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  convert_uint8x16_to_float32x4x4(ta.val[3 - shift], vvec);</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  yuyv_to_rgb_calculation(yvec.val[0], uvec.val[0], yyvec.val[0], vvec.val[0], out.ptr() + 0 * element_size, alpha);</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  yuyv_to_rgb_calculation(yvec.val[1], uvec.val[1], yyvec.val[1], vvec.val[1], out.ptr() + 1 * element_size, alpha);</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  yuyv_to_rgb_calculation(yvec.val[2], uvec.val[2], yyvec.val[2], vvec.val[2], out.ptr() + 2 * element_size, alpha);</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  yuyv_to_rgb_calculation(yvec.val[3], uvec.val[3], yyvec.val[3], vvec.val[3], out.ptr() + 3 * element_size, alpha);</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  },</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  in, out);</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00109">arm_compute::test::validation::alpha</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00127">execute_window_loop()</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00183">Iterator::ptr()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00352"></a><span class="lineno"> 352</span> {</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == input);</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<span class="keyword">nullptr</span> == output);</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keyword">const</span> <span class="keyword">auto</span> input_ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(input);</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keyword">const</span> <span class="keyword">auto</span> output_ptr = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">IImage</a> *__restrict<span class="keyword">></span>(output);</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  constexpr <span class="keyword">auto</span> element_size = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> ? 32 : 24;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  constexpr <span class="keyword">auto</span> shift = yuyv ? 0 : 1;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  Iterator in(input_ptr, win);</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  Iterator out(output_ptr, win);</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span> </div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <a class="code" href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">execute_window_loop</a>(win, [&](<span class="keyword">const</span> Coordinates & <span class="keywordtype">id</span>)</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  {</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  float32x4x4_t uvec, yvec, vvec, yyvec;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keyword">const</span> <span class="keyword">auto</span> ta = vld4q_u8(in.ptr());</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="comment">//ta.val[0] = Y0 Y2 Y4 Y6 ...</span></div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="comment">//ta.val[1] = U0 U2 U4 U6 ...</span></div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="comment">//ta.val[2] = Y1 Y3 Y5 Y7 ...</span></div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="comment">//ta.val[3] = V0 V2 V4 V7 ...</span></div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <span class="comment">// Convert the uint8x16x4_t to float32x4x4_t</span></div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  convert_uint8x16_to_float32x4x4(ta.val[0 + shift], yvec);</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  convert_uint8x16_to_float32x4x4(ta.val[1 - shift], uvec);</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  convert_uint8x16_to_float32x4x4(ta.val[2 + shift], yyvec);</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  convert_uint8x16_to_float32x4x4(ta.val[3 - shift], vvec);</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  yuyv_to_rgb_calculation(yvec.val[0], uvec.val[0], yyvec.val[0], vvec.val[0], out.ptr() + 0 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  yuyv_to_rgb_calculation(yvec.val[1], uvec.val[1], yyvec.val[1], vvec.val[1], out.ptr() + 1 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  yuyv_to_rgb_calculation(yvec.val[2], uvec.val[2], yyvec.val[2], vvec.val[2], out.ptr() + 2 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  yuyv_to_rgb_calculation(yvec.val[3], uvec.val[3], yyvec.val[3], vvec.val[3], out.ptr() + 3 * element_size, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>);</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  },</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  in, out);</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a6c0dcc38187027dcb89cd9724bc5a823"><div class="ttname"><a href="namespacearm__compute.xhtml#a6c0dcc38187027dcb89cd9724bc5a823">arm_compute::execute_window_loop</a></div><div class="ttdeci">void execute_window_loop(const Window &w, L &&lambda_function, Ts &&...iterators)</div><div class="ttdoc">Iterate through the passed window, automatically adjusting the iterators and calling the lambda_funct...</div><div class="ttdef"><b>Definition:</b> <a href="_helpers_8inl_source.xhtml#l00127">Helpers.inl:127</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ac20902ac1ef01783c8a8d71a9bdf1100"><div class="ttname"><a href="namespacearm__compute.xhtml#ac20902ac1ef01783c8a8d71a9bdf1100">arm_compute::IImage</a></div><div class="ttdeci">ITensor IImage</div><div class="ttdef"><b>Definition:</b> <a href="_c_p_p_corner_candidates_kernel_8h_source.xhtml#l00036">CPPCornerCandidatesKernel.h:36</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00109">GEMM.cpp:109</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -8046,7 +8089,7 @@
<tr>
<td class="memname"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> arm_compute::compute_strides </td>
<td>(</td>
- <td class="paramtype">const ITensorInfo & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> & </td>
<td class="paramname"><em>info</em>, </td>
</tr>
<tr>
@@ -8085,25 +8128,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_strides.xhtml" title="Strides of an item in bytes. ">Strides</a> object based on the specified strides. Missing strides are calculated based on the tensor shape and the strides of lower dimensions. </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00435">435</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00499">499</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a1f4e725b8e1ea36b30e09dc08ae6961d">ITensorInfo::num_dimensions()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions< T >::set()</a>, <a class="el" href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">arm_compute::test::validation::shape</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>.</p>
-<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00457">compute_strides()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00436"></a><span class="lineno"> 436</span> {</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <span class="keyword">const</span> TensorShape &<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.tensor_shape();</div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> </div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  <span class="comment">// Create strides object</span></div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  Strides strides(stride_x, fixed_strides...);</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> </div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 1 + <span class="keyword">sizeof</span>...(Ts); i < <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.num_dimensions(); ++i)</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  {</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  strides.set(i, shape[i - 1] * strides[i - 1]);</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  }</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> </div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <span class="keywordflow">return</span> strides;</div>
-<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> }</div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00521">compute_strides()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00500"></a><span class="lineno"> 500</span> {</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <span class="keyword">const</span> TensorShape &<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a> = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.tensor_shape();</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span> </div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <span class="comment">// Create strides object</span></div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  Strides strides(stride_x, fixed_strides...);</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span> </div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i = 1 + <span class="keyword">sizeof</span>...(Ts); i < <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.num_dimensions(); ++i)</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  {</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  strides.set(i, shape[i - 1] * strides[i - 1]);</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  }</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span> </div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  <span class="keywordflow">return</span> strides;</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -> set_format(Format::S16)</div></div>
</div><!-- fragment -->
</div>
@@ -8118,7 +8148,7 @@
<tr>
<td class="memname"><a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> arm_compute::compute_strides </td>
<td>(</td>
- <td class="paramtype">const ITensorInfo & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> & </td>
<td class="paramname"><em>info</em></td><td>)</td>
<td></td>
</tr>
@@ -8139,14 +8169,11 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_strides.xhtml" title="Strides of an item in bytes. ">Strides</a> object based on element size and tensor shape. </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00457">457</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00521">521</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-<p>References <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00435">compute_strides()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#aa459796b5489eca8a9160cb5dcf1a103">ITensorInfo::element_size()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00458"></a><span class="lineno"> 458</span> {</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a8c35748731709927597cb5a2c227e682">compute_strides</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.element_size());</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> }</div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -> set_format(Format::S16)</div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a8c35748731709927597cb5a2c227e682"><div class="ttname"><a href="namespacearm__compute.xhtml#a8c35748731709927597cb5a2c227e682">arm_compute::compute_strides</a></div><div class="ttdeci">Strides compute_strides(const ITensorInfo &info)</div><div class="ttdoc">Create a strides object based on the tensor dimensions. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00457">Helpers.h:457</a></div></div>
+<p>References <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00499">compute_strides()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#aa459796b5489eca8a9160cb5dcf1a103">ITensorInfo::element_size()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00522"></a><span class="lineno"> 522</span> {</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a8c35748731709927597cb5a2c227e682">compute_strides</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.element_size());</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -> set_format(Format::S16)</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a8c35748731709927597cb5a2c227e682"><div class="ttname"><a href="namespacearm__compute.xhtml#a8c35748731709927597cb5a2c227e682">arm_compute::compute_strides</a></div><div class="ttdeci">Strides compute_strides(const ITensorInfo &info)</div><div class="ttdoc">Create a strides object based on the tensor dimensions. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00521">Helpers.h:521</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -8160,13 +8187,13 @@
<tr>
<td class="memname">int coords2index </td>
<td>(</td>
- <td class="paramtype">const TensorShape & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> & </td>
<td class="paramname"><em>shape</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Coordinates & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> & </td>
<td class="paramname"><em>coord</em> </td>
</tr>
<tr>
@@ -8192,37 +8219,23 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>linead index </dd></dl>
-<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00307">307</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00339">339</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00115">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00109">Dimensions< T >::num_dimensions()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00135">TensorShape::total_size()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00308"></a><span class="lineno"> 308</span> {</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keywordtype">int</span> num_elements = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.total_size();</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(num_elements);</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(num_elements == 0, <span class="stringliteral">"Cannot create linear index from empty shape!"</span>);</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> </div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="keywordtype">int</span> index = 0;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <span class="keywordtype">int</span> stride = 1;</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> d = 0; d < coord.num_dimensions(); ++d)</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  {</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  index += coord[d] * stride;</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  stride *= <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[d];</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  }</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">return</span> index;</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> }</div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a5bbdcf574d3f5e412fa6a1117911e67b"><div class="ttname"><a href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00115">Error.h:115</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00297">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00147">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions< T >::num_dimensions()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00135">TensorShape::total_size()</a>.</p>
+
+<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00534">permute()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00340"></a><span class="lineno"> 340</span> {</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keywordtype">int</span> num_elements = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.total_size();</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <a class="code" href="core_2_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(num_elements);</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <a class="code" href="core_2_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(num_elements == 0, <span class="stringliteral">"Cannot create linear index from empty shape!"</span>);</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="keywordtype">int</span> index = 0;</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordtype">int</span> stride = 1;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> d = 0; d < coord.num_dimensions(); ++d)</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  {</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  index += coord[d] * stride;</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  stride *= <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[d];</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  }</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <span class="keywordflow">return</span> index;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="core_2_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00147">Error.h:147</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_a5bbdcf574d3f5e412fa6a1117911e67b"><div class="ttname"><a href="core_2_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond,...)</div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00297">Error.h:297</a></div></div>
</div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="a35fb9d1dde1b976f4b7d361aabcc7c0d"></a>
+<a class="anchor" id="ac6a3363c6c627d5720309bb8fa4f3e5f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">std::unique_ptr<<a class="el" href="classarm__compute_1_1_kernel.xhtml">Kernel</a>> arm_compute::create_configure_kernel </td>
+ <td class="memname">std::unique_ptr< <a class="el" href="classarm__compute_1_1_kernel.xhtml">Kernel</a> > create_configure_kernel </td>
<td>(</td>
<td class="paramtype">T &&... </td>
<td class="paramname"><em>args</em></td><td>)</td>
@@ -8232,32 +8245,167 @@
</div><div class="memdoc">
<p>Helper function to create and return a unique_ptr pointed to a CL kernel object It also calls the kernel's configuration. </p>
+<p>Helper function to create and return a unique_ptr pointed to a GLES kernel object It also calls the kernel's configuration.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">args</td><td>All the arguments that need pass to kernel's configuration.</td></tr>
</table>
</dd>
</dl>
-<dl class="section return"><dt>Returns</dt><dd>A unique pointer pointed to a CL kernel object </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>A unique pointer pointed to a CL kernel object</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">args</td><td>All the arguments that need pass to kernel's configuration.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A unique pointer pointed to a GLES kernel object </dd></dl>
<p>Definition at line <a class="el" href="_c_l_helpers_8h_source.xhtml#l00088">88</a> of file <a class="el" href="_c_l_helpers_8h_source.xhtml">CLHelpers.h</a>.</p>
<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00021">caffe_data_extractor::args</a>.</p>
-<div class="fragment"><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> {</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  std::unique_ptr<Kernel> k = arm_compute::support::cpp14::make_unique<Kernel>();</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  k->configure(std::forward<T>(<a class="code" href="namespacecaffe__data__extractor.xhtml#aad3cdfd6574de97bf37448087aaff11d">args</a>)...);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordflow">return</span> k;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> }</div>
-<div class="ttc" id="namespacecaffe__data__extractor_xhtml_aad3cdfd6574de97bf37448087aaff11d"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#aad3cdfd6574de97bf37448087aaff11d">caffe_data_extractor.args</a></div><div class="ttdeci">tuple args</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00021">caffe_data_extractor.py:21</a></div></div>
+<div class="fragment"><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> {</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  std::unique_ptr<Kernel> k = arm_compute::support::cpp14::make_unique<Kernel>();</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  k->configure(std::forward<T>(<a class="code" href="namespacecaffe__data__extractor.xhtml#a8187411843a6284ffb964ef3fb9fcab3">args</a>)...);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordflow">return</span> k;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> }</div><div class="ttc" id="namespacecaffe__data__extractor_xhtml_a8187411843a6284ffb964ef3fb9fcab3"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a8187411843a6284ffb964ef3fb9fcab3">caffe_data_extractor.args</a></div><div class="ttdeci">args</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00021">caffe_data_extractor.py:21</a></div></div>
</div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="abc72c95941485d8a068fa38372308574"></a>
+<a class="anchor" id="a3eee3c80d78ee4574a5eed0af5af919d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">std::unique_ptr<<a class="el" href="classarm__compute_1_1_kernel.xhtml">Kernel</a>> arm_compute::create_kernel </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a> arm_compute::create_error </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a> </td>
+ <td class="paramname"><em>error_code</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>function</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>file</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const int </td>
+ <td class="paramname"><em>line</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>msg</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"> </td>
+ <td class="paramname"><em>...</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Creates an error containing the error message. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">error_code</td><td>Error code </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Message to display before aborting. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>Variable number of arguments of the message.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status containing the error </dd></dl>
+
+<p>Referenced by <a class="el" href="core_2_error_8h_source.xhtml#l00089">Status::throw_if_error()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2edb6ec8bea5c26d7d802d21caf64d02"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">Status</a> arm_compute::create_error_va_list </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a> </td>
+ <td class="paramname"><em>error_code</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>function</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>file</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const int </td>
+ <td class="paramname"><em>line</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>msg</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">va_list </td>
+ <td class="paramname"><em>args</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Creates an error containing the error message from variable argument list. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">error_code</td><td>Error code </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Message to display before aborting. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">args</td><td>Variable argument list of the message.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>status containing the error </dd></dl>
+
+<p>Referenced by <a class="el" href="core_2_error_8h_source.xhtml#l00089">Status::throw_if_error()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5e7625bcc531d297c9b988a33cb2da32"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">std::unique_ptr< <a class="el" href="classarm__compute_1_1_kernel.xhtml">Kernel</a> > create_kernel </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
@@ -8266,14 +8414,17 @@
</div><div class="memdoc">
<p>Helper function to create and return a unique_ptr pointed to a CL kernel object. </p>
-<dl class="section return"><dt>Returns</dt><dd>A unique pointer pointed to a CL kernel object </dd></dl>
+<p>Helper function to create and return a unique_ptr pointed to a GLES kernel object.</p>
+<dl class="section return"><dt>Returns</dt><dd>A unique pointer pointed to a CL kernel object</dd>
+<dd>
+A unique pointer pointed to a GLES kernel object </dd></dl>
<p>Definition at line <a class="el" href="_c_l_helpers_8h_source.xhtml#l00100">100</a> of file <a class="el" href="_c_l_helpers_8h_source.xhtml">CLHelpers.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> {</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  std::unique_ptr<Kernel> k = arm_compute::support::cpp14::make_unique<Kernel>();</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">return</span> k;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> }</div>
-</div><!-- fragment -->
+
+<p>References <a class="el" href="namespacearm__compute.xhtml#a7f65c0c2b3ad21f427f6bb25f411e0ce">fp16_support()</a>, <a class="el" href="namespacearm__compute.xhtml#a4a351d5c39dec88af98a671da1c43fd6">get_arch_from_target()</a>, <a class="el" href="namespacearm__compute.xhtml#a54c9b94a266f8065b64f001c47815b68">get_cl_version()</a>, <a class="el" href="namespacearm__compute.xhtml#a9d0143bdde8255313aae6ac020dd629c">get_target_from_device()</a>, and <a class="el" href="namespacearm__compute.xhtml#aa2499c7ccf5b1636360a9ac6cc52a67b">non_uniform_workgroup_support()</a>.</p>
+
+<p>Referenced by <a class="el" href="_g_c_kernel_library_8h_source.xhtml#l00241">GCKernelLibrary::set_context()</a>, and <a class="el" href="_c_l_kernel_library_8h_source.xhtml#l00260">CLKernelLibrary::set_device()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> {</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  std::unique_ptr<Kernel> k = arm_compute::support::cpp14::make_unique<Kernel>();</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">return</span> k;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="abb7e0f23a4f2e63f39433f158dad47ab"></a>
@@ -8286,7 +8437,7 @@
<tr>
<td class="memname">size_t arm_compute::data_size_from_type </td>
<td>(</td>
- <td class="paramtype">DataType </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td>
<td class="paramname"><em>data_type</em></td><td>)</td>
<td></td>
</tr>
@@ -8307,40 +8458,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the data type </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00088">88</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00089">89</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>.</p>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>.</p>
-<p>Referenced by <a class="el" href="_tensor_info_8h_source.xhtml#l00227">TensorInfo::element_size()</a>, and <a class="el" href="_alex_net_network_8h_source.xhtml#l00057">AlexNetNetwork< ITensorType, TensorType, SubTensorType, arm_compute::test::Accessor, ActivationLayerFunction, ConvolutionLayerFunction, DirectConvolutionLayerFunction, FullyConnectedLayerFunction, NormalizationLayerFunction, PoolingLayerFunction, SoftmaxLayerFunction >::init()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> {</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>)</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  {</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordflow">case</span> DataType::U8:</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">case</span> DataType::S8:</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">case</span> DataType::QS8:</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordflow">case</span> DataType::U16:</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">case</span> DataType::S16:</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">case</span> DataType::F16:</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordflow">case</span> DataType::QS16:</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">return</span> 2;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">case</span> DataType::F32:</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">case</span> DataType::U32:</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">case</span> DataType::S32:</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">case</span> DataType::QS32:</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">return</span> 4;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">case</span> DataType::F64:</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordflow">case</span> DataType::U64:</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">case</span> DataType::S64:</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">return</span> 8;</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordflow">case</span> DataType::SIZET:</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(size_t);</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Invalid data type"</span>);</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  }</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
+<p>Referenced by <a class="el" href="validation_2_c_l_2_activation_layer_8cpp_source.xhtml#l00114">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00243">TensorInfo::element_size()</a>, <a class="el" href="_alex_net_network_8h_source.xhtml#l00057">AlexNetNetwork< ITensorType, TensorType, SubTensorType, arm_compute::test::Accessor, ActivationLayerFunction, ConvolutionLayerFunction, DirectConvolutionLayerFunction, FullyConnectedLayerFunction, NormalizationLayerFunction, PoolingLayerFunction, SoftmaxLayerFunction >::init()</a>, <a class="el" href="validation_2fixtures_2_fully_connected_layer_fixture_8h_source.xhtml#l00056">FullyConnectedLayerValidationGenericFixture< TensorType, AccessorType, FunctionType, T, run_interleave >::setup()</a>, and <a class="el" href="validation_2fixtures_2_convolution_layer_fixture_8h_source.xhtml#l00057">ConvolutionValidationGenericFixture< TensorType, AccessorType, FunctionType, T >::setup()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>)</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  {</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordflow">case</span> DataType::QS8:</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">case</span> DataType::QS16:</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">case</span> DataType::QS32:</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">case</span> DataType::F64:</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordflow">return</span> 8;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">case</span> DataType::SIZET:</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(size_t);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Invalid data type"</span>);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  }</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00090">MinMaxLocation.cpp:90</a></div></div>
</div><!-- fragment -->
</div>
@@ -8394,58 +8517,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The return type is a pair. The first element of the pair is the biggest data type needed for the first stage. The second element of the pair is the biggest data type needed for the second stage. </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00463">463</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00503">503</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
<p>References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
-<div class="fragment"><div class="line"><a name="l00464"></a><span class="lineno"> 464</span> {</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> first_stage = DataType::UNKNOWN;</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> second_stage = DataType::UNKNOWN;</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t &v)</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  {</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <span class="keywordflow">return</span> v >= 0;</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  };</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> </div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="keyword">auto</span> accu_neg = [](<span class="keyword">const</span> <span class="keywordtype">int</span> &first, <span class="keyword">const</span> <span class="keywordtype">int</span> &second)</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  {</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  <span class="keywordflow">return</span> first + (second < 0 ? second : 0);</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  };</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  <span class="keyword">auto</span> accu_pos = [](<span class="keyword">const</span> <span class="keywordtype">int</span> &first, <span class="keyword">const</span> <span class="keywordtype">int</span> &second)</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  {</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <span class="keywordflow">return</span> first + (second > 0 ? second : 0);</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  };</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> </div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> only_positive_coefficients = std::all_of(conv_row, conv_row + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, gez) && std::all_of(conv_col, conv_col + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, gez);</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> </div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <span class="keywordflow">if</span>(only_positive_coefficients)</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  {</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> max_row_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_row, conv_row + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0) * UINT8_MAX;</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> max_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_col, conv_col + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0) * max_row_value;</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> </div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  first_stage = (max_row_value <= UINT16_MAX) ? DataType::U16 : DataType::S32;</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> </div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  second_stage = (max_value <= UINT16_MAX) ? DataType::U16 : DataType::S32;</div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  }</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  {</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> min_row_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_row, conv_row + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0, accu_neg) * UINT8_MAX;</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> max_row_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_row, conv_row + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0, accu_pos) * UINT8_MAX;</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> neg_coeffs_sum = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_col, conv_col + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0, accu_neg);</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> pos_coeffs_sum = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_col, conv_col + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0, accu_pos);</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> min_value = neg_coeffs_sum * max_row_value + pos_coeffs_sum * min_row_value;</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> max_value = neg_coeffs_sum * min_row_value + pos_coeffs_sum * max_row_value;</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> </div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  first_stage = ((INT16_MIN <= min_row_value) && (max_row_value <= INT16_MAX)) ? DataType::S16 : DataType::S32;</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> </div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  second_stage = ((INT16_MIN <= min_value) && (max_value <= INT16_MAX)) ? DataType::S16 : DataType::S32;</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  }</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> </div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <span class="keywordflow">return</span> std::make_pair(first_stage, second_stage);</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> }</div>
-<div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00276">hwc.hpp:276</a></div></div>
+<div class="fragment"><div class="line"><a name="l00504"></a><span class="lineno"> 504</span> {</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> first_stage = DataType::UNKNOWN;</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> second_stage = DataType::UNKNOWN;</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span> </div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t &v)</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  {</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <span class="keywordflow">return</span> v >= 0;</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  };</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span> </div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <span class="keyword">auto</span> accu_neg = [](<span class="keyword">const</span> <span class="keywordtype">int</span> &first, <span class="keyword">const</span> <span class="keywordtype">int</span> &second)</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  {</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <span class="keywordflow">return</span> first + (second < 0 ? second : 0);</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  };</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span> </div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  <span class="keyword">auto</span> accu_pos = [](<span class="keyword">const</span> <span class="keywordtype">int</span> &first, <span class="keyword">const</span> <span class="keywordtype">int</span> &second)</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  {</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <span class="keywordflow">return</span> first + (second > 0 ? second : 0);</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  };</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span> </div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> only_positive_coefficients = std::all_of(conv_row, conv_row + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, gez) && std::all_of(conv_col, conv_col + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, gez);</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span> </div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <span class="keywordflow">if</span>(only_positive_coefficients)</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  {</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> max_row_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_row, conv_row + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0) * UINT8_MAX;</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> max_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_col, conv_col + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0) * max_row_value;</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span> </div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  first_stage = (max_row_value <= UINT16_MAX) ? DataType::U16 : DataType::S32;</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span> </div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  second_stage = (max_value <= UINT16_MAX) ? DataType::U16 : DataType::S32;</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  }</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  {</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> min_row_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_row, conv_row + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0, accu_neg) * UINT8_MAX;</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> max_row_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_row, conv_row + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0, accu_pos) * UINT8_MAX;</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> neg_coeffs_sum = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_col, conv_col + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0, accu_neg);</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> pos_coeffs_sum = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv_col, conv_col + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0, accu_pos);</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> min_value = neg_coeffs_sum * max_row_value + pos_coeffs_sum * min_row_value;</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> max_value = neg_coeffs_sum * min_row_value + pos_coeffs_sum * max_row_value;</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span> </div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  first_stage = ((INT16_MIN <= min_row_value) && (max_row_value <= INT16_MAX)) ? DataType::S16 : DataType::S32;</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span> </div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  second_stage = ((INT16_MIN <= min_value) && (max_value <= INT16_MAX)) ? DataType::S16 : DataType::S32;</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  }</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span> </div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  <span class="keywordflow">return</span> std::make_pair(first_stage, second_stage);</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span> }</div><div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00276">hwc.hpp:276</a></div></div>
<div class="ttc" id="accumulate_8cl_xhtml_a00e540076dd545ad59ac7482f8cdf514"><div class="ttname"><a href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">accumulate</a></div><div class="ttdeci">__kernel void accumulate(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *accu_ptr, uint accu_stride_x, uint accu_step_x, uint accu_stride_y, uint accu_step_y, uint accu_offset_first_element_in_bytes)</div><div class="ttdoc">This function accumulates an input image into output image. </div><div class="ttdef"><b>Definition:</b> <a href="accumulate_8cl_source.xhtml#l00041">accumulate.cl:41</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00064">Types.h:64</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00071">Types.h:71</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -8491,55 +8568,13 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The return is the biggest data type needed to do the convolution </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00519">519</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00559">559</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-<p>References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>.</p>
-<div class="fragment"><div class="line"><a name="l00520"></a><span class="lineno"> 520</span> {</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t v)</div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  {</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  <span class="keywordflow">return</span> v >= 0;</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  };</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> </div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> only_positive_coefficients = std::all_of(conv, conv + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, gez);</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> </div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <span class="keywordflow">if</span>(only_positive_coefficients)</div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  {</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> max_conv_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv, conv + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0) * UINT8_MAX;</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  <span class="keywordflow">if</span>(max_conv_value <= UINT16_MAX)</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  {</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  <span class="keywordflow">return</span> DataType::U16;</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  }</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  {</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  <span class="keywordflow">return</span> DataType::S32;</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  }</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  }</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  {</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> min_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv, conv + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0, [](<span class="keywordtype">int</span> a, <span class="keywordtype">int</span> b)</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  {</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  <span class="keywordflow">return</span> b < 0 ? a + b : a;</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  })</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  * UINT8_MAX;</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> </div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> max_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv, conv + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0, [](<span class="keywordtype">int</span> a, <span class="keywordtype">int</span> b)</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  {</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  <span class="keywordflow">return</span> b > 0 ? a + b : a;</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  })</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  * UINT8_MAX;</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> </div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  <span class="keywordflow">if</span>((INT16_MIN <= min_value) && (INT16_MAX >= max_value))</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  {</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  <span class="keywordflow">return</span> DataType::S16;</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  }</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  {</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  <span class="keywordflow">return</span> DataType::S32;</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  }</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  }</div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> }</div>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::a</a>, <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">arm_compute::test::validation::b</a>, <a class="el" href="namespacearm__compute.xhtml#a29f1002e9a609eb71ee6b74a888de12a">deconvolution_output_dimensions()</a>, <a class="el" href="namespacearm__compute.xhtml#a7d57332eb91a8735f173556b3caf6236">deconvolution_output_shape()</a>, <a class="el" href="namespacearm__compute.xhtml#a532fb45c0261724a4c2e755cfd3a44e6">lower_string()</a>, <a class="el" href="namespacearm__compute.xhtml#a6452ac376d4adb94d93a93d678bb6757">round()</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#a3d3d8bf7b86db4d7d4ebfe5b332f41b3">scaled_dimensions()</a>, <a class="el" href="namespacearm__compute.xhtml#ac955c978e18cc9bf6daea31f13076fba">string_from_activation_func()</a>, <a class="el" href="namespacearm__compute.xhtml#abd15add5c6c7de5c8205ce236875aadd">string_from_border_mode()</a>, <a class="el" href="namespacearm__compute.xhtml#a106c203dd6af234d38452ea0ee7b2ddc">string_from_channel()</a>, <a class="el" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type()</a>, <a class="el" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format()</a>, <a class="el" href="namespacearm__compute.xhtml#ade34f5e72f050fd3665f3294dfb15850">string_from_interpolation_policy()</a>, <a class="el" href="namespacearm__compute.xhtml#a018795ab2489d17309e158ff5c060ab1">string_from_matrix_pattern()</a>, <a class="el" href="namespacearm__compute.xhtml#a14831547f57ecf5f0deef888ad41ad30">string_from_non_linear_filter_function()</a>, <a class="el" href="namespacearm__compute.xhtml#afb5698af5404d5d11e3516c87b6e7041">string_from_norm_type()</a>, <a class="el" href="namespacearm__compute.xhtml#a84a03e85d2c40bf54ec8cdd5e3715c58">string_from_pooling_type()</a>, <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::type</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>.</p>
+<div class="fragment"><div class="line"><a name="l00560"></a><span class="lineno"> 560</span> {</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  <span class="keyword">auto</span> gez = [](<span class="keyword">const</span> int16_t v)</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  {</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  <span class="keywordflow">return</span> v >= 0;</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  };</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span> </div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> only_positive_coefficients = std::all_of(conv, conv + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, gez);</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span> </div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  <span class="keywordflow">if</span>(only_positive_coefficients)</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  {</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> max_conv_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv, conv + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0) * UINT8_MAX;</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  <span class="keywordflow">if</span>(max_conv_value <= UINT16_MAX)</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  {</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  }</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  {</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  }</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  }</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  {</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> min_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv, conv + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0, [](<span class="keywordtype">int</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <span class="keywordtype">int</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>)</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  {</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  <span class="keywordflow">return</span> b < 0 ? a + b : <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>;</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  })</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  * UINT8_MAX;</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span> </div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> max_value = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(conv, conv + <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>, 0, [](<span class="keywordtype">int</span> a, <span class="keywordtype">int</span> b)</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  {</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>  <span class="keywordflow">return</span> b > 0 ? a + b : <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>;</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  })</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  * UINT8_MAX;</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span> </div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  <span class="keywordflow">if</span>((INT16_MIN <= min_value) && (INT16_MAX >= max_value))</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  {</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>  <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  }</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  {</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  }</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  }</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00276">hwc.hpp:276</a></div></div>
<div class="ttc" id="accumulate_8cl_xhtml_a00e540076dd545ad59ac7482f8cdf514"><div class="ttname"><a href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">accumulate</a></div><div class="ttdeci">__kernel void accumulate(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *accu_ptr, uint accu_stride_x, uint accu_step_x, uint accu_stride_y, uint accu_step_y, uint accu_offset_first_element_in_bytes)</div><div class="ttdoc">This function accumulates an input image into output image. </div><div class="ttdef"><b>Definition:</b> <a href="accumulate_8cl_source.xhtml#l00041">accumulate.cl:41</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -8553,7 +8588,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> arm_compute::data_type_from_format </td>
<td>(</td>
- <td class="paramtype">Format </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> </td>
<td class="paramname"><em>format</em></td><td>)</td>
<td></td>
</tr>
@@ -8574,80 +8609,84 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the pixel format </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00192">192</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00195">195</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
-<p>Referenced by <a class="el" href="_c_l_2_harris_corners_8cpp_source.xhtml#l00057">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="_simple_tensor_8h_source.xhtml#l00265">SimpleTensor< T >::data_type()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00193"></a><span class="lineno"> 193</span> {</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">switch</span>(format)</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  {</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">case</span> Format::U8:</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordflow">case</span> Format::UV88:</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keywordflow">case</span> Format::RGB888:</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="keywordflow">case</span> Format::YUYV422:</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordflow">case</span> Format::UYVY422:</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordflow">return</span> DataType::U8;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">case</span> Format::U16:</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="keywordflow">return</span> DataType::U16;</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keywordflow">case</span> Format::S16:</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">return</span> DataType::S16;</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keywordflow">case</span> Format::U32:</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keywordflow">return</span> DataType::U32;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordflow">case</span> Format::S32:</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordflow">return</span> DataType::S32;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordflow">case</span> Format::F16:</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keywordflow">return</span> DataType::F16;</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keywordflow">case</span> Format::F32:</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordflow">return</span> DataType::F32;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="comment">//Doesn't make sense for planar formats:</span></div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">case</span> Format::NV12:</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">case</span> Format::NV21:</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keywordflow">case</span> Format::IYUV:</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keywordflow">case</span> Format::YUV444:</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported data_type for given format"</span>);</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">return</span> DataType::UNKNOWN;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  }</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
+<p>Referenced by <a class="el" href="_c_l_2_harris_corners_8cpp_source.xhtml#l00057">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_simple_tensor_8h_source.xhtml#l00281">SimpleTensor< T >::data_type()</a>, <a class="el" href="_magnitude_fixture_8h_source.xhtml#l00046">MagnitudeValidationFixture< TensorType, AccessorType, FunctionType, T >::setup()</a>, <a class="el" href="_phase_fixture_8h_source.xhtml#l00046">PhaseValidationFixture< TensorType, AccessorType, FunctionType, T >::setup()</a>, <a class="el" href="_harris_corners_fixture_8h_source.xhtml#l00050">HarrisCornersValidationFixture< TensorType, AccessorType, ArrayType, FunctionType, T >::setup()</a>, <a class="el" href="_scharr_fixture_8h_source.xhtml#l00070">ScharrValidationFixture< TensorType, AccessorType, FunctionType, T, U >::setup()</a>, and <a class="el" href="_sobel_fixture_8h_source.xhtml#l00105">SobelValidationFixture< TensorType, AccessorType, FunctionType, T, U >::setup()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> {</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  {</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keywordflow">return</span> DataType::U8;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordflow">return</span> DataType::U32;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordflow">return</span> DataType::F16;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">return</span> DataType::F32;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="comment">//Doesn't make sense for planar formats:</span></div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported data_type for given format"</span>);</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keywordflow">return</span> DataType::UNKNOWN;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  }</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="a5930b66fce0674d707fbf4f2dfcacc8f"></a>
+<a class="anchor" id="a29f1002e9a609eb71ee6b74a888de12a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void arm_compute::debug </td>
+ <td class="memname">const std::pair<unsigned int, unsigned int> arm_compute::deconvolution_output_dimensions </td>
<td>(</td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>function</em>, </td>
+ <td class="paramtype">unsigned int </td>
+ <td class="paramname"><em>in_width</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>file</em>, </td>
+ <td class="paramtype">unsigned int </td>
+ <td class="paramname"><em>in_height</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const int </td>
- <td class="paramname"><em>line</em>, </td>
+ <td class="paramtype">unsigned int </td>
+ <td class="paramname"><em>kernel_width</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>msg</em>, </td>
+ <td class="paramtype">unsigned int </td>
+ <td class="paramname"><em>kernel_height</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"> </td>
- <td class="paramname"><em>...</em> </td>
+ <td class="paramtype">unsigned int </td>
+ <td class="paramname"><em>padx</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned int </td>
+ <td class="paramname"><em>pady</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned int </td>
+ <td class="paramname"><em>ax</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned int </td>
+ <td class="paramname"><em>ay</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>upscalex</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>upscaley</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1fece1bd804e64f39f602d1c3969849a">DimensionRoundingType</a> </td>
+ <td class="paramname"><em>round</em> </td>
</tr>
<tr>
<td></td>
@@ -8657,17 +8696,71 @@
</table>
</div><div class="memdoc">
-<p>Print a debug message. </p>
+<p>Returns expected width and height of the deconvolution's output tensor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>Message to display before aborting. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>Variable number of arguments of the message. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">in_width</td><td>Width of input tensor (Number of columns) </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">in_height</td><td>Height of input tensor (Number of rows) </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">kernel_width</td><td><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> width. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">kernel_height</td><td><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> height. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">padx</td><td>X axis padding. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">pady</td><td>Y axis padding. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">ax</td><td>The number of zeros added to right edge of the input. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">ay</td><td>The number of zeros added to top edge of the input. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">upscalex</td><td>How much to scale the X axis. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">upscaley</td><td>How much to scale the Y axis. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">round</td><td>Rounding policy to be used when computing the output's dimensions.</td></tr>
</table>
</dd>
</dl>
+<dl class="section return"><dt>Returns</dt><dd>A pair with the new width in the first position and the new height in the second. </dd></dl>
+
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00559">data_type_for_convolution_matrix()</a>, and <a class="el" href="_deconvolution_layer_fixture_8h_source.xhtml#l00150">DeconvolutionValidationFixture< TensorType, AccessorType, FunctionType, T, kernel_size_x, kernel_size_y >::setup()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7d57332eb91a8735f173556b3caf6236"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> arm_compute::deconvolution_output_shape </td>
+ <td>(</td>
+ <td class="paramtype">const std::pair< unsigned int, unsigned int > & </td>
+ <td class="paramname"><em>out_dims</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> </td>
+ <td class="paramname"><em>input</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> </td>
+ <td class="paramname"><em>weights</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Returns expected shape for the deconvolution output tensor. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">out_dims</td><td>widht and height of the output tensor, these values can be obtained with the function deconvolution_output_dimensions. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Shape of the input tensor. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">weights</td><td>Shape of the weights tensor.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Deconvolution output tensor shape. </dd></dl>
+
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00559">data_type_for_convolution_matrix()</a>, and <a class="el" href="_deconvolution_layer_fixture_8h_source.xhtml#l00150">DeconvolutionValidationFixture< TensorType, AccessorType, FunctionType, T, kernel_size_x, kernel_size_y >::setup()</a>.</p>
</div>
</div>
@@ -8729,30 +8822,125 @@
<dl class="section note"><dt>Note</dt><dd>dx and dy must be in the range [0, 1.0]</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>The bilinear interpolated pixel value </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00099">99</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00100">100</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>.</p>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>.</p>
-<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00131">pixel_bilinear_c1()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00158">pixel_bilinear_c1_clamp()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> {</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(pixel_ptr == <span class="keyword">nullptr</span>);</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dx1 = 1.0f - dx;</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dy1 = 1.0f - dy;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keyword">const</span> T a00 = *pixel_ptr;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keyword">const</span> T a01 = *(pixel_ptr + 1);</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keyword">const</span> T a10 = *(pixel_ptr + stride);</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keyword">const</span> T a11 = *(pixel_ptr + stride + 1);</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w1 = dx1 * dy1;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w2 = dx * dy1;</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w3 = dx1 * dy;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w4 = dx * dy;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span>T<span class="keyword">></span>(a00 * w1 + a01 * w2 + a10 * w3 + a11 * w4);</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00183">pixel_bilinear_c1()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00210">pixel_bilinear_c1_clamp()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> {</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(pixel_ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dx1 = 1.0f - dx;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dy1 = 1.0f - dy;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keyword">const</span> T a00 = *pixel_ptr;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keyword">const</span> T a01 = *(pixel_ptr + 1);</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keyword">const</span> T a10 = *(pixel_ptr + stride);</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keyword">const</span> T a11 = *(pixel_ptr + stride + 1);</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w1 = dx1 * dy1;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w2 = dx * dy1;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w3 = dx1 * dy;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w4 = dx * dy;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span>T<span class="keyword">></span>(a00 * w1 + a01 * w2 + a10 * w3 + a11 * w4);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a6174495b626531de015ae2b810859287"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">T arm_compute::delta_linear_c1_x </td>
+ <td>(</td>
+ <td class="paramtype">const T * </td>
+ <td class="paramname"><em>pixel_ptr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>dx</em> </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>Computes linear interpolation using the pointer to the left pixel and the pixel's distance between the real coordinates and the smallest following integer coordinates. </p>
+<p>Input must be in single channel format.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">pixel_ptr</td><td>Pointer to the left pixel value of a single channel input. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">dx</td><td>Pixel's distance between the X real coordinate and the smallest X following integer</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>dx must be in the range [0, 1.0]</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The linear interpolated pixel value </dd></dl>
+
+<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00157">157</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
+
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>.</p>
+
+<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00210">pixel_bilinear_c1_clamp()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> {</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(pixel_ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keyword">const</span> T a00 = *pixel_ptr;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keyword">const</span> T a01 = *(pixel_ptr + 1);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dx1 = 1.0f - dx;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w1 = dx1;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w2 = dx;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span>T<span class="keyword">></span>(a00 * w1 + a01 * w2);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ad5fa8bacf824e9538014bfb0dcdaab52"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">T arm_compute::delta_linear_c1_y </td>
+ <td>(</td>
+ <td class="paramtype">const T * </td>
+ <td class="paramname"><em>pixel_ptr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t </td>
+ <td class="paramname"><em>stride</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>dy</em> </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>Computes linear interpolation using the pointer to the top pixel and the pixel's distance between the real coordinates and the smallest following integer coordinates. </p>
+<p>Input must be in single channel format.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">pixel_ptr</td><td>Pointer to the top pixel value of a single channel input. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>Stride to access the bottom pixel value </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">dy</td><td>Pixel's distance between the Y real coordinate and the smallest Y following integer</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>dy must be in the range [0, 1.0]</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The linear interpolated pixel value </dd></dl>
+
+<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00132">132</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
+
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>.</p>
+
+<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00210">pixel_bilinear_c1_clamp()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> {</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(pixel_ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dy1 = 1.0f - dy;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keyword">const</span> T a00 = *pixel_ptr;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keyword">const</span> T a10 = *(pixel_ptr + stride);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w1 = dy1;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> w3 = dy;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span>T<span class="keyword">></span>(a00 * w1 + a10 * w3);</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -8783,11 +8971,10 @@
<p>Calculate the rounded up quotient of val / m. </p>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00060">60</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> {</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordflow">return</span> (val + m - 1) / m;</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> }</div>
-</div><!-- fragment -->
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00061">61</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+
+<p>References <a class="el" href="namespacearm__compute.xhtml#a64c17a5a42d2499a1626222ff9753b4d">build_information()</a>, and <a class="el" href="namespacearm__compute.xhtml#aefa4a4d3136d77b85cccfce344f9f37f">read_file()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> {</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">return</span> (val + m - 1) / m;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a34b06c0cd94808a77b697e79880b84b0"></a>
@@ -8800,7 +8987,7 @@
<tr>
<td class="memname">size_t arm_compute::element_size_from_data_type </td>
<td>(</td>
- <td class="paramtype">DataType </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td>
<td class="paramname"><em>dt</em></td><td>)</td>
<td></td>
</tr>
@@ -8821,37 +9008,61 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the data type </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00162">162</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00164">164</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>.</p>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>.</p>
-<p>Referenced by <a class="el" href="_simple_tensor_8h_source.xhtml#l00240">SimpleTensor< T >::element_size()</a>, <a class="el" href="_validate_8h_source.xhtml#l00565">error_on_value_not_representable_in_fixed_point()</a>, and <a class="el" href="_validation_8cpp_source.xhtml#l00173">arm_compute::test::validation::validate()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00163"></a><span class="lineno"> 163</span> {</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">switch</span>(dt)</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  {</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordflow">case</span> DataType::S8:</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keywordflow">case</span> DataType::U8:</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordflow">case</span> DataType::QS8:</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keywordflow">case</span> DataType::U16:</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">case</span> DataType::S16:</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keywordflow">case</span> DataType::QS16:</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordflow">case</span> DataType::F16:</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordflow">return</span> 2;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordflow">case</span> DataType::U32:</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keywordflow">case</span> DataType::S32:</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordflow">case</span> DataType::F32:</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordflow">case</span> DataType::QS32:</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordflow">return</span> 4;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Undefined element size for given data type"</span>);</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  }</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
+<p>Referenced by <a class="el" href="_simple_tensor_8h_source.xhtml#l00250">SimpleTensor< T >::element_size()</a>, <a class="el" href="_validate_8h_source.xhtml#l00865">error_on_value_not_representable_in_fixed_point()</a>, and <a class="el" href="_validation_8cpp_source.xhtml#l00173">arm_compute::test::validation::validate()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> {</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keywordflow">case</span> DataType::QS8:</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordflow">case</span> DataType::QS16:</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keywordflow">case</span> DataType::QS32:</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Undefined element size for given data type"</span>);</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  }</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
+<a class="anchor" id="ab36bc98bdbf6c4d7bee0cb099513c806"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void arm_compute::enqueue </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml">IGCKernel</a> & </td>
+ <td class="paramname"><em>kernel</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
+ <td class="paramname"><em>window</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1gles_1_1_n_d_range.xhtml">gles::NDRange</a> & </td>
+ <td class="paramname"><em>lws</em> = <code><a class="el" href="classarm__compute_1_1gles_1_1_n_d_range.xhtml">gles::NDRange</a>(1U, 1U, 1U)</code> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Add the kernel to the command queue with the given window. </p>
+<dl class="section note"><dt>Note</dt><dd>Depending on the size of the window, this might translate into several jobs being enqueued.</dd>
+<dd>
+If kernel->kernel() is empty then the function will return without adding anything to the queue.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">kernel</td><td><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> to enqueue </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">window</td><td><a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> the kernel has to process. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">lws</td><td>Local workgroup size requested, by default (1, 1, 1)</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>If any dimension of the lws is greater than the global workgroup size then no lws will be passed. </dd></dl>
+
+</div>
+</div>
<a class="anchor" id="a0f68015f649819f1102aa73d7b88b29e"></a>
<div class="memitem">
<div class="memproto">
@@ -8865,20 +9076,20 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">ICLKernel & </td>
+ <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_c_l_kernel.xhtml">ICLKernel</a> & </td>
<td class="paramname"><em>kernel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Window & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
<td class="paramname"><em>window</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const cl::NDRange & </td>
- <td class="paramname"><em>lws_hint</em> = <code>CLKernelLibrary::get().default_ndrange()</code> </td>
+ <td class="paramname"><em>lws_hint</em> = <code><a class="el" href="classarm__compute_1_1_c_l_kernel_library.xhtml#aebe2d25607545d31f2b1ace6d60a81da">CLKernelLibrary::get</a>().default_ndrange()</code> </td>
</tr>
<tr>
<td></td>
@@ -8903,6 +9114,8 @@
</dl>
<dl class="section note"><dt>Note</dt><dd>If any dimension of the lws is greater than the global workgroup size then no lws will be passed. </dd></dl>
+<p>Referenced by <a class="el" href="_i_g_c_kernel_8h_source.xhtml#l00062">IGCKernel::BufferParam::BufferParam()</a>, and <a class="el" href="_i_c_l_kernel_8h_source.xhtml#l00155">ICLKernel::config_id()</a>.</p>
+
</div>
</div>
<a class="anchor" id="a568b0fbfa3d903099d9c9f7b6acf188d"></a>
@@ -8959,16 +9172,19 @@
</dd>
</dl>
-<p>Referenced by <a class="el" href="main_8cpp_source.xhtml#l00059">main()</a>.</p>
+<p>Referenced by <a class="el" href="_framework_8cpp_source.xhtml#l00260">Framework::error_on_missing_assets()</a>, <a class="el" href="main_8cpp_source.xhtml#l00062">main()</a>, and <a class="el" href="core_2_error_8h_source.xhtml#l00089">Status::throw_if_error()</a>.</p>
</div>
</div>
-<a class="anchor" id="a593d972357b3bcfeecb87207dc925417"></a>
+<a class="anchor" id="ae7fcde610527b8fa3d9acdf398187962"></a>
<div class="memitem">
<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">void arm_compute::error_on_channel_not_in </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_channel_not_in </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>function</em>, </td>
@@ -9009,9 +9225,14 @@
<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>Throw an error if the channel is not in channels. </p>
+<p>Return an error if the channel is not in channels. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
@@ -9019,36 +9240,26 @@
<tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cn</td><td>Input channel </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>First channel allowed. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">channels</td><td>(Optional) Further allowed channels. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">channels</td><td>(Optional) Further allowed channels.</td></tr>
</table>
</dd>
</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
-<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00452">452</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00702">702</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00134">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
-<div class="fragment"><div class="line"><a name="l00454"></a><span class="lineno"> 454</span> {</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(cn == Channel::UNKNOWN, <span class="keyword">function</span>, file, line);</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <span class="keyword">const</span> std::array<T, <span class="keyword">sizeof</span>...(Ts)> channels_array{ { std::forward<Ts>(channels)... } };</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(channels_array);</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(channel != cn && std::none_of(channels_array.begin(), channels_array.end(), [&](<span class="keyword">const</span> T & f)</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  {</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <span class="keywordflow">return</span> f == cn;</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  }),</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  <span class="keyword">function</span>, file, line);</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_ac90c3bce005225cbaa4a43740917bb58"><div class="ttname"><a href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00134">Error.h:134</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
+<div class="fragment"><div class="line"><a name="l00704"></a><span class="lineno"> 704</span> {</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>  <a class="code" href="core_2_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(cn == Channel::UNKNOWN, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span> </div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  <span class="keyword">const</span> std::array<T, <span class="keyword">sizeof</span>...(Ts)> channels_array{ { std::forward<Ts>(channels)... } };</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>  <a class="code" href="core_2_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(channel != cn && std::none_of(channels_array.begin(), channels_array.end(), [&](<span class="keyword">const</span> T & f)</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  {</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  <span class="keywordflow">return</span> f == cn;</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  }),</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span> }</div><div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00039">Error.h:39</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="core_2_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
</div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="ad0d001a84424d440f9a11fc1b80ed2ff"></a>
+<a class="anchor" id="aa2af31a4685af1fb5ecef784c5e96da0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void arm_compute::error_on_channel_not_in_known_format </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_channel_not_in_known_format </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>function</em>, </td>
@@ -9068,13 +9279,13 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">Format </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> </td>
<td class="paramname"><em>fmt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">Channel </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> </td>
<td class="paramname"><em>cn</em> </td>
</tr>
<tr>
@@ -9085,26 +9296,27 @@
</table>
</div><div class="memdoc">
-<p>Throw an error if the channel is not in format. </p>
+<p>Return an error if the channel is not in format. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">fmt</td><td>Input channel </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">cn</td><td>First channel allowed. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">cn</td><td>First channel allowed.</td></tr>
</table>
</dd>
</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
</div>
</div>
-<a class="anchor" id="a130822528598f21a48f7ee0e6d8438a0"></a>
+<a class="anchor" id="a454f8112fcca60b99883f19ff43daf9f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void arm_compute::error_on_coordinates_dimensions_gte </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_coordinates_dimensions_gte </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>function</em>, </td>
@@ -9124,7 +9336,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Coordinates & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> & </td>
<td class="paramname"><em>pos</em>, </td>
</tr>
<tr>
@@ -9141,7 +9353,7 @@
</table>
</div><div class="memdoc">
-<p>Throw an error if the passed coordinates have too many dimensions. </p>
+<p>Return an error if the passed coordinates have too many dimensions. </p>
<p>The coordinates have too many dimensions if any of the dimensions greater or equal to max_dim is different from 0.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
@@ -9149,19 +9361,23 @@
<tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">pos</td><td><a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a> to validate </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">max_dim</td><td>Maximum number of dimensions allowed. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">max_dim</td><td>Maximum number of dimensions allowed.</td></tr>
</table>
</dd>
</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
</div>
</div>
-<a class="anchor" id="a690ce072b4480f4a5bad433f23c9fe05"></a>
+<a class="anchor" id="a499a45039b9bba66384504843d5823d4"></a>
<div class="memitem">
<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">void arm_compute::error_on_data_type_channel_not_in </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_data_type_channel_not_in </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>function</em>, </td>
@@ -9181,7 +9397,96 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const ITensor * </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>tensor_info</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t </td>
+ <td class="paramname"><em>num_channels</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T && </td>
+ <td class="paramname"><em>dt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Ts &&... </td>
+ <td class="paramname"><em>dts</em> </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>Return an error if the data type or the number of channels of the passed tensor info does not match any of the data types and number of channels provided. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info to validate. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">num_channels</td><td>Number of channels to check </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>First data type allowed. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">dts</td><td>(Optional) Further allowed data types.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
+
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00641">641</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00208">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00170">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00588">error_on_data_type_not_in()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ad7829ae79223ab87f9da4c0bd7d229ba">ITensorInfo::num_channels()</a>.</p>
+
+<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00662">error_on_data_type_channel_not_in()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00643"></a><span class="lineno"> 643</span> {</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  <a class="code" href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a774ec1fdc7bd1e7973c866d13734bc21">arm_compute::error_on_data_type_not_in</a>(<span class="keyword">function</span>, file, line, tensor_info, std::forward<T>(dt), std::forward<Ts>(dts)...));</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  <span class="keyword">const</span> <span class="keywordtype">size_t</span> tensor_nc = tensor_info->num_channels();</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  <a class="code" href="core_2_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(tensor_nc != num_channels, <span class="keyword">function</span>, file, line, <span class="stringliteral">"Number of channels %d. Required number of channels %d"</span>, tensor_nc, num_channels);</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span> }</div><div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00039">Error.h:39</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="core_2_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00208">Error.h:208</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a774ec1fdc7bd1e7973c866d13734bc21"><div class="ttname"><a href="namespacearm__compute.xhtml#a774ec1fdc7bd1e7973c866d13734bc21">arm_compute::error_on_data_type_not_in</a></div><div class="ttdeci">arm_compute::Status error_on_data_type_not_in(const char *function, const char *file, const int line, const ITensorInfo *tensor_info, T &&dt, Ts &&...dts)</div><div class="ttdoc">Return an error if the data type of the passed tensor info does not match any of the data types provi...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00588">Validate.h:588</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00170">Error.h:170</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ad3137e73dbd78133d25751abd84540d8"></a>
+<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="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_data_type_channel_not_in </td>
+ <td>(</td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>function</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>file</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const int </td>
+ <td class="paramname"><em>line</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
<td class="paramname"><em>tensor</em>, </td>
</tr>
<tr>
@@ -9208,9 +9513,14 @@
<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>Throw an error if the data type or the number of channels of the passed tensor does not match any of the data types and number of channels provided. </p>
+<p>Return an error if the data type or the number of channels of the passed tensor does not match any of the data types and number of channels provided. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
@@ -9219,34 +9529,31 @@
<tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> to validate. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">num_channels</td><td>Number of channels to check </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>First data type allowed. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">dts</td><td>(Optional) Further allowed data types. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">dts</td><td>(Optional) Further allowed data types.</td></tr>
</table>
</dd>
</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
-<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00419">419</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00662">662</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00116">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_validate_8h_source.xhtml#l00387">error_on_data_type_not_in()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ad7829ae79223ab87f9da4c0bd7d229ba">ITensorInfo::num_channels()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00421"></a><span class="lineno"> 421</span> {</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <a class="code" href="namespacearm__compute.xhtml#a0c52339d3cb372d145deeafb5a313807">error_on_data_type_not_in</a>(<span class="keyword">function</span>, file, line, tensor, std::forward<T>(dt), std::forward<Ts>(dts)...);</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  <span class="keyword">const</span> <span class="keywordtype">size_t</span> tensor_nc = tensor->info()->num_channels();</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor_nc);</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> </div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(tensor_nc != num_channels, <span class="keyword">function</span>, file, line, <span class="stringliteral">"Number of channels %d. Required number of channels %d"</span>, tensor_nc, num_channels);</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a1b62e396a1789909dadda61ea4cda96f"><div class="ttname"><a href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00116">Error.h:116</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a0c52339d3cb372d145deeafb5a313807"><div class="ttname"><a href="namespacearm__compute.xhtml#a0c52339d3cb372d145deeafb5a313807">arm_compute::error_on_data_type_not_in</a></div><div class="ttdeci">void error_on_data_type_not_in(const char *function, const char *file, const int line, const ITensor *tensor, T &&dt, Ts &&...dts)</div><div class="ttdoc">Throw an error if the data type of the passed tensor does not match any of the data types provided...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00387">Validate.h:387</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00170">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00641">error_on_data_type_channel_not_in()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00664"></a><span class="lineno"> 664</span> {</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  <a class="code" href="core_2_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  <a class="code" href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(<a class="code" href="namespacearm__compute.xhtml#ad3137e73dbd78133d25751abd84540d8">error_on_data_type_channel_not_in</a>(<span class="keyword">function</span>, file, line, tensor->info(), num_channels, std::forward<T>(dt), std::forward<Ts>(dts)...));</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span> }</div><div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00039">Error.h:39</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="core_2_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ad3137e73dbd78133d25751abd84540d8"><div class="ttname"><a href="namespacearm__compute.xhtml#ad3137e73dbd78133d25751abd84540d8">arm_compute::error_on_data_type_channel_not_in</a></div><div class="ttdeci">arm_compute::Status error_on_data_type_channel_not_in(const char *function, const char *file, const int line, const ITensor *tensor, size_t num_channels, T &&dt, Ts &&...dts)</div><div class="ttdoc">Return an error if the data type or the number of channels of the passed tensor does not match any of...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00662">Validate.h:662</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00170">Error.h:170</a></div></div>
</div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="a0c52339d3cb372d145deeafb5a313807"></a>
+<a class="anchor" id="a774ec1fdc7bd1e7973c866d13734bc21"></a>
<div class="memitem">
<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">void arm_compute::error_on_data_type_not_in </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_data_type_not_in </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>function</em>, </td>
@@ -9266,7 +9573,90 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const ITensor * </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>tensor_info</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T && </td>
+ <td class="paramname"><em>dt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Ts &&... </td>
+ <td class="paramname"><em>dts</em> </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>Return an error if the data type of the passed tensor info does not match any of the data types provided. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> info to validate. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>First data type allowed. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">dts</td><td>(Optional) Further allowed data types.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
+
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00588">588</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00208">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
+
+<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00641">error_on_data_type_channel_not_in()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00616">error_on_data_type_not_in()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00590"></a><span class="lineno"> 590</span> {</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  <a class="code" href="core_2_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_info == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span> </div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &tensor_dt = tensor_info->data_type(); <span class="comment">//NOLINT</span></div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  <a class="code" href="core_2_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_dt == DataType::UNKNOWN, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span> </div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>  <span class="keyword">const</span> std::array<T, <span class="keyword">sizeof</span>...(Ts)> dts_array{ { std::forward<Ts>(dts)... } };</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  <a class="code" href="core_2_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(tensor_dt != dt && std::none_of(dts_array.begin(), dts_array.end(), [&](<span class="keyword">const</span> T & d)</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  {</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  <span class="keywordflow">return</span> d == tensor_dt;</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  }),</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"ITensor data type %s not supported by this kernel"</span>, <a class="code" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type</a>(tensor_dt).c_str());</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_aefa1d9648995e5eccc693c690e27aa88"><div class="ttname"><a href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">arm_compute::string_from_data_type</a></div><div class="ttdeci">const std::string & string_from_data_type(DataType dt)</div><div class="ttdoc">Convert a data type identity into a string. </div></div>
+<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00039">Error.h:39</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="core_2_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="core_2_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00208">Error.h:208</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00071">Types.h:71</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a4ae0ca8176fce8caa48601dc8324ca97"></a>
+<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="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_data_type_not_in </td>
+ <td>(</td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>function</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>file</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const int </td>
+ <td class="paramname"><em>line</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
<td class="paramname"><em>tensor</em>, </td>
</tr>
<tr>
@@ -9287,9 +9677,14 @@
<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>Throw an error if the data type of the passed tensor does not match any of the data types provided. </p>
+<p>Return an error if the data type of the passed tensor does not match any of the data types provided. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
@@ -9297,38 +9692,19 @@
<tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> to validate. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>First data type allowed. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">dts</td><td>(Optional) Further allowed data types. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">dts</td><td>(Optional) Further allowed data types.</td></tr>
</table>
</dd>
</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
-<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00387">387</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00616">616</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00134">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00116">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
-
-<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00419">error_on_data_type_channel_not_in()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00389"></a><span class="lineno"> 389</span> {</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(tensor == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &tensor_dt = tensor->info()->data_type(); <span class="comment">//NOLINT</span></div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor_dt);</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(tensor_dt == DataType::UNKNOWN, <span class="keyword">function</span>, file, line);</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> </div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  <span class="keyword">const</span> std::array<T, <span class="keyword">sizeof</span>...(Ts)> dts_array{ { std::forward<Ts>(dts)... } };</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(dts_array);</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> </div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(tensor_dt != dt && std::none_of(dts_array.begin(), dts_array.end(), [&](<span class="keyword">const</span> T & d)</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  {</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="keywordflow">return</span> d == tensor_dt;</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  }),</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"ITensor data type %s not supported by this kernel"</span>, <a class="code" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type</a>(tensor_dt).c_str());</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a1b62e396a1789909dadda61ea4cda96f"><div class="ttname"><a href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00116">Error.h:116</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_aefa1d9648995e5eccc693c690e27aa88"><div class="ttname"><a href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">arm_compute::string_from_data_type</a></div><div class="ttdeci">const std::string & string_from_data_type(DataType dt)</div><div class="ttdoc">Convert a data type identity into a string. </div></div>
-<div class="ttc" id="_error_8h_xhtml_ac90c3bce005225cbaa4a43740917bb58"><div class="ttname"><a href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00134">Error.h:134</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00064">Types.h:64</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00170">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00588">error_on_data_type_not_in()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00618"></a><span class="lineno"> 618</span> {</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  <a class="code" href="core_2_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  <a class="code" href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a774ec1fdc7bd1e7973c866d13734bc21">arm_compute::error_on_data_type_not_in</a>(<span class="keyword">function</span>, file, line, tensor->info(), std::forward<T>(dt), std::forward<Ts>(dts)...));</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span> }</div><div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00039">Error.h:39</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="core_2_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a774ec1fdc7bd1e7973c866d13734bc21"><div class="ttname"><a href="namespacearm__compute.xhtml#a774ec1fdc7bd1e7973c866d13734bc21">arm_compute::error_on_data_type_not_in</a></div><div class="ttdeci">arm_compute::Status error_on_data_type_not_in(const char *function, const char *file, const int line, const ITensorInfo *tensor_info, T &&dt, Ts &&...dts)</div><div class="ttdoc">Return an error if the data type of the passed tensor info does not match any of the data types provi...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00588">Validate.h:588</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00170">Error.h:170</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -9393,40 +9769,23 @@
</dd>
</dl>
-<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00356">356</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00555">555</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00134">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00116">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
-<div class="fragment"><div class="line"><a name="l00358"></a><span class="lineno"> 358</span> {</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(<span class="keywordtype">object</span> == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &&object_format = <span class="keywordtype">object</span>->info()->format();</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(object_format);</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> </div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(object_format == Format::UNKNOWN, <span class="keyword">function</span>, file, line);</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keyword">const</span> std::array<F, <span class="keyword">sizeof</span>...(Fs)> formats_array{ { std::forward<Fs>(formats)... } };</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(formats_array);</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(object_format != format && std::none_of(formats_array.begin(), formats_array.end(), [&](<span class="keyword">const</span> F & f)</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  {</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keywordflow">return</span> f == object_format;</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  }),</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"Format %s not supported by this kernel"</span>, <a class="code" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format</a>(object_format).c_str());</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a1b62e396a1789909dadda61ea4cda96f"><div class="ttname"><a href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00116">Error.h:116</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">arm_compute::Format</a></div><div class="ttdeci">Format</div><div class="ttdoc">Image colour formats. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00042">Types.h:42</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_ac90c3bce005225cbaa4a43740917bb58"><div class="ttname"><a href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00134">Error.h:134</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00316">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00298">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00147">ARM_COMPUTE_UNUSED</a>, <a class="el" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
+<div class="fragment"><div class="line"><a name="l00557"></a><span class="lineno"> 557</span> {</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  <a class="code" href="core_2_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(<span class="keywordtype">object</span> == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span> </div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  <a class="code" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> &&object_format = <span class="keywordtype">object</span>->info()->format();</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  <a class="code" href="core_2_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(object_format);</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span> </div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  <a class="code" href="core_2_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(object_format == Format::UNKNOWN, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span> </div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  <span class="keyword">const</span> std::array<F, <span class="keyword">sizeof</span>...(Fs)> formats_array{ { std::forward<Fs>(formats)... } };</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  <a class="code" href="core_2_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(formats_array);</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span> </div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  <a class="code" href="core_2_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(object_format != format && std::none_of(formats_array.begin(), formats_array.end(), [&](<span class="keyword">const</span> F & f)</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  {</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  <span class="keywordflow">return</span> f == object_format;</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  }),</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"Format %s not supported by this kernel"</span>, <a class="code" href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">string_from_format</a>(object_format).c_str());</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_ac90c3bce005225cbaa4a43740917bb58"><div class="ttname"><a href="core_2_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00316">Error.h:316</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="core_2_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00147">Error.h:147</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab4e88c89b3b7ea1735996cc4def22d58"><div class="ttname"><a href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">arm_compute::Format</a></div><div class="ttdeci">Format</div><div class="ttdoc">Image colour formats. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00049">Types.h:49</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_a1b62e396a1789909dadda61ea4cda96f"><div class="ttname"><a href="core_2_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00298">Error.h:298</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a9c92c867fc64454545668d87b20979eb"><div class="ttname"><a href="namespacearm__compute.xhtml#a9c92c867fc64454545668d87b20979eb">arm_compute::string_from_format</a></div><div class="ttdeci">const std::string & string_from_format(Format format)</div><div class="ttdoc">Convert a tensor format into a string. </div></div>
</div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="a307666ca482a84d5a64251d78889a818"></a>
+<a class="anchor" id="adf16abfe081654f8bb2b9a4fee09100e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void arm_compute::error_on_invalid_multi_hog </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_invalid_multi_hog </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>function</em>, </td>
@@ -9446,7 +9805,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const IMultiHOG * </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> * </td>
<td class="paramname"><em>multi_hog</em> </td>
</tr>
<tr>
@@ -9457,32 +9816,32 @@
</table>
</div><div class="memdoc">
-<p>Throw an error if the <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> container is invalid. </p>
+<p>Return an error if the <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> container is invalid. </p>
<p>An <a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml">IMultiHOG</a> container is invalid if:</p>
<ol type="1">
<li>it is a nullptr</li>
<li>it doesn't contain models</li>
-<li><p class="startli">it doesn't have the <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data objects with the same phase_type, normalization_type and l2_hyst_threshold (if normalization_type == L2HYS_NORM)</p>
+<li>it doesn't have the <a class="el" href="classarm__compute_1_1_h_o_g.xhtml" title="CPU implementation of HOG data-object. ">HOG</a> data objects with the same phase_type, normalization_type and l2_hyst_threshold (if normalization_type == L2HYS_NORM)</li>
+</ol>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">multi_hog</td><td><a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml" title="Interface for storing multiple HOG data-objects. ">IMultiHOG</a> container to validate </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">multi_hog</td><td><a class="el" href="classarm__compute_1_1_i_multi_h_o_g.xhtml" title="Interface for storing multiple HOG data-objects. ">IMultiHOG</a> container to validate</td></tr>
</table>
</dd>
</dl>
-</li>
-</ol>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
</div>
</div>
-<a class="anchor" id="a36ffb104aed50deb360db6f3afa4c394"></a>
+<a class="anchor" id="a7fdf77ab857ef3a644eef09389cc808d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void arm_compute::error_on_invalid_subtensor </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_invalid_subtensor </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>function</em>, </td>
@@ -9502,19 +9861,19 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const TensorShape & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> & </td>
<td class="paramname"><em>parent_shape</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Coordinates & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> & </td>
<td class="paramname"><em>coords</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const TensorShape & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> & </td>
<td class="paramname"><em>shape</em> </td>
</tr>
<tr>
@@ -9525,7 +9884,7 @@
</table>
</div><div class="memdoc">
-<p>Throw an error if if the coordinates and shape of the subtensor are within the parent tensor. </p>
+<p>Return an error if if the coordinates and shape of the subtensor are within the parent tensor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
@@ -9533,19 +9892,20 @@
<tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">parent_shape</td><td>Parent tensor shape </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">coords</td><td><a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a> inside the parent tensor where the first element of the subtensor is </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>Shape of the subtensor </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>Shape of the subtensor</td></tr>
</table>
</dd>
</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
</div>
</div>
-<a class="anchor" id="a858e835f22c359080a09709c6dd950b1"></a>
+<a class="anchor" id="a74dd77930a4d0ccf755c1cc648601c63"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void arm_compute::error_on_invalid_subtensor_valid_region </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_invalid_subtensor_valid_region </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>function</em>, </td>
@@ -9565,13 +9925,13 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const ValidRegion & </td>
+ <td class="paramtype">const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> & </td>
<td class="paramname"><em>parent_valid_region</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const ValidRegion & </td>
+ <td class="paramtype">const <a class="el" href="structarm__compute_1_1_valid_region.xhtml">ValidRegion</a> & </td>
<td class="paramname"><em>valid_region</em> </td>
</tr>
<tr>
@@ -9582,26 +9942,27 @@
</table>
</div><div class="memdoc">
-<p>Throw an error if the valid region of a subtensor is not inside the valid region of the parent tensor. </p>
+<p>Return an error if the valid region of a subtensor is not inside the valid region of the parent tensor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">parent_valid_region</td><td>Parent valid region. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">valid_region</td><td>Valid region of subtensor. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">valid_region</td><td>Valid region of subtensor.</td></tr>
</table>
</dd>
</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
</div>
</div>
-<a class="anchor" id="a0916477887763c20822b43be144963eb"></a>
+<a class="anchor" id="aceb8dd0f6a4e2539b39b5a69a1c345b4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void arm_compute::error_on_invalid_subwindow </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_invalid_subwindow </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>function</em>, </td>
@@ -9621,13 +9982,13 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Window & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
<td class="paramname"><em>full</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Window & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
<td class="paramname"><em>sub</em> </td>
</tr>
<tr>
@@ -9638,33 +9999,35 @@
</table>
</div><div class="memdoc">
-<p>Throw an error if the passed subwindow is invalid. </p>
-<p>The subwindow is invalid if:</p>
-<ul>
+<p>Return an error if the passed subwindow is invalid. </p>
+<p>The subwindow is invalid if:</p><ul>
<li>It is not a valid window.</li>
<li>It is not fully contained inside the full window</li>
-<li><p class="startli">The step for each of its dimension is not identical to the corresponding one of the full window.</p>
+<li>The step for each of its dimension is not identical to the corresponding one of the full window.</li>
+</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">full</td><td>Full size window </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">sub</td><td>Sub-window to validate. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">sub</td><td>Sub-window to validate.</td></tr>
</table>
</dd>
</dl>
-</li>
-</ul>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
</div>
</div>
-<a class="anchor" id="a464883e1c23b02d47d8db21956a8f117"></a>
+<a class="anchor" id="a00672eb7b5db5f6396b39b241eaf12f7"></a>
<div class="memitem">
<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">void arm_compute::error_on_mismatching_data_types </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_data_types </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>function</em>, </td>
@@ -9684,7 +10047,84 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const ITensor * </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>tensor_info</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Ts... </td>
+ <td class="paramname"><em>tensor_infos</em> </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>Return an error if the passed two tensor infos have different data types. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info</td><td>The first tensor info to be compared. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_infos</td><td>(Optional) Further allowed tensor infos.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
+
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00375">375</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00208">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00170">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00134">error_on_nullptr()</a>.</p>
+
+<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00401">error_on_mismatching_data_types()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00377"></a><span class="lineno"> 377</span> {</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <a class="code" href="core_2_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_info == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <a class="code" href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward<Ts>(tensor_infos)...));</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span> </div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &&tensor_data_type = tensor_info->data_type();</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="keyword">const</span> std::array<<span class="keyword">const</span> ITensorInfo *, <span class="keyword">sizeof</span>...(Ts)> tensors_infos_array{ { std::forward<Ts>(tensor_infos)... } };</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <a class="code" href="core_2_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_infos_array.begin(), tensors_infos_array.end(), [&](<span class="keyword">const</span> ITensorInfo * tensor_info_obj)</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  {</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keywordflow">return</span> tensor_info_obj->data_type() != tensor_data_type;</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  }),</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"Tensors have different data types"</span>);</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &&...pointers)</div><div class="ttdoc">Create an error if one of the pointers is a nullptr. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00134">Validate.h:134</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00039">Error.h:39</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="core_2_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="core_2_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00208">Error.h:208</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00170">Error.h:170</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00071">Types.h:71</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a709c2aef39aa212b840c6395fc20ce17"></a>
+<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="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_data_types </td>
+ <td>(</td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>function</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>file</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const int </td>
+ <td class="paramname"><em>line</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
<td class="paramname"><em>tensor</em>, </td>
</tr>
<tr>
@@ -9699,57 +10139,43 @@
<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>Throw an error if the passed two tensors have different data types. </p>
+<p>Return an error if the passed two tensors have different data types. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td>The first tensor to be compared. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors.</td></tr>
</table>
</dd>
</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
-<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00271">271</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00401">401</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00134">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00116">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00273"></a><span class="lineno"> 273</span> {</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(<span class="keyword">function</span>);</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(file);</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(line);</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor);</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(tensor == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &&tensor_data_type = tensor->info()->data_type();</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor_data_type);</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="keyword">const</span> std::array<<span class="keyword">const</span> ITensor *, <span class="keyword">sizeof</span>...(Ts)> tensors_array{ { std::forward<Ts>(tensors)... } };</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensors_array);</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_array.begin(), tensors_array.end(), [&](<span class="keyword">const</span> ITensor * tensor_obj)</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  {</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(tensor_obj == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordflow">return</span> tensor_obj->info()->data_type() != tensor_data_type;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  }),</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"Tensors have different data types"</span>);</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a1b62e396a1789909dadda61ea4cda96f"><div class="ttname"><a href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00116">Error.h:116</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_ac90c3bce005225cbaa4a43740917bb58"><div class="ttname"><a href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00134">Error.h:134</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00064">Types.h:64</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00170">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00375">error_on_mismatching_data_types()</a>, <a class="el" href="_validate_8h_source.xhtml#l00134">error_on_nullptr()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00403"></a><span class="lineno"> 403</span> {</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  <a class="code" href="core_2_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  <a class="code" href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward<Ts>(tensors)...));</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <a class="code" href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a00672eb7b5db5f6396b39b241eaf12f7">arm_compute::error_on_mismatching_data_types</a>(<span class="keyword">function</span>, file, line, tensor->info(),</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  detail::get_tensor_info_t<ITensorInfo *>()(tensors)...));</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &&...pointers)</div><div class="ttdoc">Create an error if one of the pointers is a nullptr. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00134">Validate.h:134</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00039">Error.h:39</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="core_2_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00170">Error.h:170</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a00672eb7b5db5f6396b39b241eaf12f7"><div class="ttname"><a href="namespacearm__compute.xhtml#a00672eb7b5db5f6396b39b241eaf12f7">arm_compute::error_on_mismatching_data_types</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_data_types(const char *function, const char *file, const int line, const ITensorInfo *tensor_info, Ts...tensor_infos)</div><div class="ttdoc">Return an error if the passed two tensor infos have different data types. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00375">Validate.h:375</a></div></div>
</div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="aff062b84c57c614a2de4d54db2cbc31c"></a>
+<a class="anchor" id="ab3f385292b90327061e1276f3e3445c7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void arm_compute::error_on_mismatching_dimensions </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_dimensions </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>function</em>, </td>
@@ -9769,13 +10195,13 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Dimensions< T > & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>< T > & </td>
<td class="paramname"><em>dim1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Dimensions< T > & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>< T > & </td>
<td class="paramname"><em>dim2</em>, </td>
</tr>
<tr>
@@ -9792,7 +10218,7 @@
</table>
</div><div class="memdoc">
-<p>Throw an error if the passed dimension objects differ. </p>
+<p>Return an error if the passed dimension objects differ. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
@@ -9800,32 +10226,30 @@
<tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dim1</td><td>The first object to be compared. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dim2</td><td>The second object to be compared. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">dims</td><td>(Optional) Further allowed objects. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">dims</td><td>(Optional) Further allowed objects.</td></tr>
</table>
</dd>
</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
-<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00203">203</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00263">263</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00208">for_each()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> {</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(<span class="keyword">function</span>);</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(file);</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(line);</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <a class="code" href="namespacearm__compute.xhtml#a76e58198af8e930a851637e7e3eccbd2">for_each</a>(detail::compare_dimension<T>(dim1, <span class="keyword">function</span>, file, line), dim2, std::forward<Ts>(dims)...);</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a76e58198af8e930a851637e7e3eccbd2"><div class="ttname"><a href="namespacearm__compute.xhtml#a76e58198af8e930a851637e7e3eccbd2">arm_compute::for_each</a></div><div class="ttdeci">void for_each(F &&)</div><div class="ttdoc">Base case of for_each. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00208">Helpers.h:208</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00170">ARM_COMPUTE_RETURN_ON_ERROR</a>, and <a class="el" href="_validate_8h_source.xhtml#l00099">arm_compute::detail::for_each_error()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00265"></a><span class="lineno"> 265</span> {</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <a class="code" href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(<a class="code" href="namespacearm__compute_1_1detail.xhtml#a2fa22dee7227625fa4516f267235667c">detail::for_each_error</a>(detail::compare_dimension<T>(dim1, <span class="keyword">function</span>, file, line), dim2, std::forward<Ts>(dims)...));</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span> }</div><div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00039">Error.h:39</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1detail_xhtml_a2fa22dee7227625fa4516f267235667c"><div class="ttname"><a href="namespacearm__compute_1_1detail.xhtml#a2fa22dee7227625fa4516f267235667c">arm_compute::detail::for_each_error</a></div><div class="ttdeci">arm_compute::Status for_each_error(F &&func, T &&arg, Ts &&...args)</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00105">Validate.h:105</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00170">Error.h:170</a></div></div>
</div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="a526ed43a37ba0faf2c1789175ec1a350"></a>
+<a class="anchor" id="aafd4504246cc7e82e108204cb9636a90"></a>
<div class="memitem">
<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">void arm_compute::error_on_mismatching_fixed_point </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_fixed_point </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>function</em>, </td>
@@ -9845,13 +10269,96 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const ITensor * </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>tensor_info_1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>tensor_info_2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Ts... </td>
+ <td class="paramname"><em>tensor_infos</em> </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>Return an error if the passed tensor infos have different fixed point data types or different fixed point positions. </p>
+<dl class="section note"><dt>Note</dt><dd>: If the first tensor doesn't have fixed point data type, the function returns without throwing an error</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_1</td><td>The first tensor info to be compared. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_2</td><td>The second tensor info to be compared. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_infos</td><td>(Optional) Further allowed tensor infos.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
+
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00429">429</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00208">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab21a362740e892b6e913bd8db03b0e67">ITensorInfo::fixed_point_position()</a>, and <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00777">is_data_type_fixed_point()</a>.</p>
+
+<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00468">error_on_mismatching_fixed_point()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00431"></a><span class="lineno"> 431</span> {</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &&first_data_type = tensor_info_1->data_type();</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> first_fixed_point_position = tensor_info_1->fixed_point_position();</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span> </div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  <span class="keywordflow">if</span>(!<a class="code" href="namespacearm__compute.xhtml#ab6bb62694ae8369d18a9c9687040975e">is_data_type_fixed_point</a>(first_data_type))</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  {</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  }</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span> </div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <span class="keyword">const</span> std::array < <span class="keyword">const</span> ITensorInfo *, 1 + <span class="keyword">sizeof</span>...(Ts) > tensor_infos_array{ { tensor_info_2, std::forward<Ts>(tensor_infos)... } };</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <a class="code" href="core_2_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(tensor_infos_array.begin(), tensor_infos_array.end(), [&](<span class="keyword">const</span> ITensorInfo * tensor_info)</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  {</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  <span class="keywordflow">return</span> tensor_info->data_type() != first_data_type;</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  }),</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"Tensors have different fixed point data types"</span>);</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <a class="code" href="core_2_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(tensor_infos_array.begin(), tensor_infos_array.end(), [&](<span class="keyword">const</span> ITensorInfo * tensor_info)</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  {</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <span class="keywordflow">return</span> tensor_info->fixed_point_position() != first_fixed_point_position;</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  }),</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"Tensors have different fixed point positions"</span>);</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span> </div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span> }</div><div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00039">Error.h:39</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ab6bb62694ae8369d18a9c9687040975e"><div class="ttname"><a href="namespacearm__compute.xhtml#ab6bb62694ae8369d18a9c9687040975e">arm_compute::is_data_type_fixed_point</a></div><div class="ttdeci">bool is_data_type_fixed_point(DataType dt)</div><div class="ttdoc">Check if a given data type is of fixed point type. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00777">Utils.h:777</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="core_2_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00208">Error.h:208</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00071">Types.h:71</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a8ecebd0b1ad2f0c593f7b093a1e43448"></a>
+<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="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_fixed_point </td>
+ <td>(</td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>function</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>file</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const int </td>
+ <td class="paramname"><em>line</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
<td class="paramname"><em>tensor_1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const ITensor * </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
<td class="paramname"><em>tensor_2</em>, </td>
</tr>
<tr>
@@ -9866,9 +10373,14 @@
<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>Throw an error if the passed tensors have different fixed point data types or different fixed point positions. </p>
+<p>Return an error if the passed tensor have different fixed point data types or different fixed point positions. </p>
<dl class="section note"><dt>Note</dt><dd>: If the first tensor doesn't have fixed point data type, the function returns without throwing an error</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
@@ -9877,58 +10389,30 @@
<tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors.</td></tr>
</table>
</dd>
</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
-<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00309">309</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00468">468</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00116">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab21a362740e892b6e913bd8db03b0e67">ITensorInfo::fixed_point_position()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, and <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>.</p>
-<div class="fragment"><div class="line"><a name="l00311"></a><span class="lineno"> 311</span> {</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(<span class="keyword">function</span>);</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(file);</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(line);</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor_1);</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensor_2);</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &&first_data_type = tensor_1->info()->data_type();</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> first_fixed_point_position = tensor_1->info()->fixed_point_position();</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(first_data_type);</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(first_fixed_point_position);</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> </div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordflow">if</span>((first_data_type != DataType::QS8) && (first_data_type != DataType::QS16))</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  {</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  }</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keyword">const</span> std::array < <span class="keyword">const</span> ITensor *, 1 + <span class="keyword">sizeof</span>...(Ts) > tensors_array{ { tensor_2, std::forward<Ts>(tensors)... } };</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensors_array);</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_array.begin(), tensors_array.end(), [&](<span class="keyword">const</span> ITensor * tensor)</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  {</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keywordflow">return</span> tensor->info()->data_type() != first_data_type;</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  }),</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"Tensors have different fixed point data types"</span>);</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> </div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_array.begin(), tensors_array.end(), [&](<span class="keyword">const</span> ITensor * tensor)</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  {</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">return</span> tensor->info()->fixed_point_position() != first_fixed_point_position;</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  }),</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"Tensors have different fixed point positions"</span>);</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a1b62e396a1789909dadda61ea4cda96f"><div class="ttname"><a href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00116">Error.h:116</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00064">Types.h:64</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00170">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00429">error_on_mismatching_fixed_point()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00470"></a><span class="lineno"> 470</span> {</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <a class="code" href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#aafd4504246cc7e82e108204cb9636a90">arm_compute::error_on_mismatching_fixed_point</a>(<span class="keyword">function</span>, file, line, tensor_1->info(), tensor_2->info(),</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  detail::get_tensor_info_t<ITensorInfo *>()(tensors)...));</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_aafd4504246cc7e82e108204cb9636a90"><div class="ttname"><a href="namespacearm__compute.xhtml#aafd4504246cc7e82e108204cb9636a90">arm_compute::error_on_mismatching_fixed_point</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_fixed_point(const char *function, const char *file, const int line, const ITensorInfo *tensor_info_1, const ITensorInfo *tensor_info_2, Ts...tensor_infos)</div><div class="ttdoc">Return an error if the passed tensor infos have different fixed point data types or different fixed p...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00429">Validate.h:429</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00039">Error.h:39</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00170">Error.h:170</a></div></div>
</div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="a064db352a2f4153e6237054343d5fe7a"></a>
+<a class="anchor" id="a82c748dc3464dfc48133fbf8f84d7240"></a>
<div class="memitem">
<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">void arm_compute::error_on_mismatching_fixed_point_position </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_fixed_point_position </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>function</em>, </td>
@@ -9948,20 +10432,20 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const ITensor * </td>
- <td class="paramname"><em>tensor_1</em>, </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>tensor_info_1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const ITensor * </td>
- <td class="paramname"><em>tensor_2</em>, </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>tensor_info_2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Ts... </td>
- <td class="paramname"><em>tensors</em> </td>
+ <td class="paramname"><em>tensor_infos</em> </td>
</tr>
<tr>
<td></td>
@@ -9969,45 +10453,46 @@
<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>Throw an error if the input fixed-point positions are different. </p>
+<p>Return an error if the input fixed-point positions are different. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_1</td><td>The first tensor info to be compared. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_2</td><td>The second tensor info to be compared. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_infos</td><td>(Optional) Further allowed tensor infos.</td></tr>
</table>
</dd>
</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
-<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00542">542</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00820">820</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00116">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab21a362740e892b6e913bd8db03b0e67">ITensorInfo::fixed_point_position()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00544"></a><span class="lineno"> 544</span> {</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  <span class="keyword">const</span> std::array < <span class="keyword">const</span> ITensor *, 1 + <span class="keyword">sizeof</span>...(Ts) > tensors_array{ { tensor_2, std::forward<Ts>(tensors)... } };</div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensors_array);</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> </div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(std::any_of(tensors_array.begin(), tensors_array.end(), [&](<span class="keyword">const</span> ITensor * tensor)</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  {</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  <span class="keywordflow">return</span> tensor->info()->fixed_point_position() != tensor_1->info()->fixed_point_position();</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  }),</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"Tensors have different fixed-point positions"</span>);</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a1b62e396a1789909dadda61ea4cda96f"><div class="ttname"><a href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00116">Error.h:116</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00208">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab21a362740e892b6e913bd8db03b0e67">ITensorInfo::fixed_point_position()</a>.</p>
+
+<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00843">error_on_mismatching_fixed_point_position()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00822"></a><span class="lineno"> 822</span> {</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>  <span class="keyword">const</span> std::array < <span class="keyword">const</span> ITensorInfo *, 1 + <span class="keyword">sizeof</span>...(Ts) > tensor_info_array{ { tensor_info_2, std::forward<Ts>(tensor_infos)... } };</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>  <a class="code" href="core_2_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(tensor_info_array.begin(), tensor_info_array.end(), [&](<span class="keyword">const</span> ITensorInfo * tensor_info)</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>  {</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>  <span class="keywordflow">return</span> tensor_info->fixed_point_position() != tensor_info_1->fixed_point_position();</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>  }),</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"Tensors have different fixed-point positions"</span>);</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span> }</div><div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00039">Error.h:39</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="core_2_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00208">Error.h:208</a></div></div>
</div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="a7b689868b627ba9e22c8473c5f985512"></a>
+<a class="anchor" id="adec7d6b27c9cacab7940ce67eaab4bf6"></a>
<div class="memitem">
<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">void arm_compute::error_on_mismatching_shapes </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_fixed_point_position </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>function</em>, </td>
@@ -10027,13 +10512,13 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const ITensor * </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
<td class="paramname"><em>tensor_1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const ITensor * </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
<td class="paramname"><em>tensor_2</em>, </td>
</tr>
<tr>
@@ -10048,9 +10533,14 @@
<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>Throw an error if the passed two tensors have different shapes from the given dimension. </p>
+<p>Return an error if the input fixed-point positions are different. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
@@ -10058,27 +10548,349 @@
<tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors.</td></tr>
</table>
</dd>
</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
-<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00224">224</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00843">843</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00170">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00820">error_on_mismatching_fixed_point_position()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00845"></a><span class="lineno"> 845</span> {</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>  <a class="code" href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a82c748dc3464dfc48133fbf8f84d7240">arm_compute::error_on_mismatching_fixed_point_position</a>(<span class="keyword">function</span>, file, line, tensor_1->info(), tensor_2->info(),</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  detail::get_tensor_info_t<ITensorInfo *>()(tensors)...));</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span> }</div><div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00039">Error.h:39</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00170">Error.h:170</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a82c748dc3464dfc48133fbf8f84d7240"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c748dc3464dfc48133fbf8f84d7240">arm_compute::error_on_mismatching_fixed_point_position</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_fixed_point_position(const char *function, const char *file, const int line, const ITensorInfo *tensor_info_1, const ITensorInfo *tensor_info_2, Ts...tensor_infos)</div><div class="ttdoc">Return an error if the input fixed-point positions are different. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00820">Validate.h:820</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="af4c3199d58278db542e1cdfb72a41901"></a>
+<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="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_quantization_info </td>
+ <td>(</td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>function</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>file</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const int </td>
+ <td class="paramname"><em>line</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>tensor_info_1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>tensor_info_2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Ts... </td>
+ <td class="paramname"><em>tensor_infos</em> </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>Return an error if the passed tensor infos have different asymmetric quantized data types or different quantization info. </p>
+<dl class="section note"><dt>Note</dt><dd>: If the first tensor info doesn't have asymmetric quantized data type, the function returns without throwing an error</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_1</td><td>The first tensor info to be compared. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_2</td><td>The second tensor info to be compared. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_infos</td><td>(Optional) Further allowed tensor infos.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
+
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00494">494</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00208">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00796">is_data_type_quantized_asymmetric()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a3f3e1a3200223e6a304a533b1016e749">ITensorInfo::quantization_info()</a>.</p>
+
+<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00533">error_on_mismatching_quantization_info()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00496"></a><span class="lineno"> 496</span> {</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> &&first_data_type = tensor_info_1->data_type();</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <span class="keyword">const</span> QuantizationInfo first_quantization_info = tensor_info_1->quantization_info();</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span> </div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <span class="keywordflow">if</span>(!<a class="code" href="namespacearm__compute.xhtml#a14f46283f316e7f0fad301d5c1507e9f">is_data_type_quantized_asymmetric</a>(first_data_type))</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  {</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  }</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span> </div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <span class="keyword">const</span> std::array < <span class="keyword">const</span> ITensorInfo *, 1 + <span class="keyword">sizeof</span>...(Ts) > tensor_infos_array{ { tensor_info_2, std::forward<Ts>(tensor_infos)... } };</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <a class="code" href="core_2_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(tensor_infos_array.begin(), tensor_infos_array.end(), [&](<span class="keyword">const</span> ITensorInfo * tensor_info)</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  {</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <span class="keywordflow">return</span> tensor_info->data_type() != first_data_type;</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  }),</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"Tensors have different asymmetric quantized data types"</span>);</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  <a class="code" href="core_2_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(tensor_infos_array.begin(), tensor_infos_array.end(), [&](<span class="keyword">const</span> ITensorInfo * tensor_info)</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  {</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <span class="keywordflow">return</span> tensor_info->quantization_info() != first_quantization_info;</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  }),</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"Tensors have different quantization information"</span>);</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span> </div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span> }</div><div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00039">Error.h:39</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="core_2_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00208">Error.h:208</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a14f46283f316e7f0fad301d5c1507e9f"><div class="ttname"><a href="namespacearm__compute.xhtml#a14f46283f316e7f0fad301d5c1507e9f">arm_compute::is_data_type_quantized_asymmetric</a></div><div class="ttdeci">bool is_data_type_quantized_asymmetric(DataType dt)</div><div class="ttdoc">Check if a given data type is of asymmetric quantized type. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00796">Utils.h:796</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00071">Types.h:71</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a5be375b525bba68610a75da0a043df3a"></a>
+<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="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_quantization_info </td>
+ <td>(</td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>function</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>file</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const int </td>
+ <td class="paramname"><em>line</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
+ <td class="paramname"><em>tensor_1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
+ <td class="paramname"><em>tensor_2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Ts... </td>
+ <td class="paramname"><em>tensors</em> </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>Return an error if the passed tensor have different asymmetric quantized data types or different quantization info. </p>
+<dl class="section note"><dt>Note</dt><dd>: If the first tensor doesn't have asymmetric quantized data type, the function returns without throwing an error</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
+
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00533">533</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00170">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00494">error_on_mismatching_quantization_info()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00535"></a><span class="lineno"> 535</span> {</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  <a class="code" href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4c3199d58278db542e1cdfb72a41901">arm_compute::error_on_mismatching_quantization_info</a>(<span class="keyword">function</span>, file, line, tensor_1->info(), tensor_2->info(),</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  detail::get_tensor_info_t<ITensorInfo *>()(tensors)...));</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_af4c3199d58278db542e1cdfb72a41901"><div class="ttname"><a href="namespacearm__compute.xhtml#af4c3199d58278db542e1cdfb72a41901">arm_compute::error_on_mismatching_quantization_info</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_quantization_info(const char *function, const char *file, const int line, const ITensorInfo *tensor_info_1, const ITensorInfo *tensor_info_2, Ts...tensor_infos)</div><div class="ttdoc">Return an error if the passed tensor infos have different asymmetric quantized data types or differen...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00494">Validate.h:494</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00039">Error.h:39</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00170">Error.h:170</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="aea117e0cebca5f4642ed3f269217a09e"></a>
+<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="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_shapes </td>
+ <td>(</td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>function</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>file</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const int </td>
+ <td class="paramname"><em>line</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>tensor_info_1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>tensor_info_2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Ts... </td>
+ <td class="paramname"><em>tensor_infos</em> </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>Return an error if the passed two tensor infos have different shapes from the given dimension. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_1</td><td>The first tensor info to be compared. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_2</td><td>The second tensor info to be compared. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_infos</td><td>(Optional) Further allowed tensor infos.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
+
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00286">286</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>.</p>
-<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span> {</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <a class="code" href="namespacearm__compute.xhtml#a496e03102bca40f666c12a575d4a6157">error_on_mismatching_shapes</a>(<span class="keyword">function</span>, file, line, 0U, tensor_1, tensor_2, std::forward<Ts>(tensors)...);</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a496e03102bca40f666c12a575d4a6157"><div class="ttname"><a href="namespacearm__compute.xhtml#a496e03102bca40f666c12a575d4a6157">arm_compute::error_on_mismatching_shapes</a></div><div class="ttdeci">void error_on_mismatching_shapes(const char *function, const char *file, const int line, unsigned int upper_dim, const ITensor *tensor_1, const ITensor *tensor_2, Ts...tensors)</div><div class="ttdoc">Throw an error if the passed two tensors have different shapes from the given dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00241">Validate.h:241</a></div></div>
+
+<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00303">error_on_mismatching_shapes()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00288"></a><span class="lineno"> 288</span> {</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#afa04b5bdea84e0effab066e3b1324ec5">error_on_mismatching_shapes</a>(<span class="keyword">function</span>, file, line, 0U, tensor_info_1, tensor_info_2, std::forward<Ts>(tensor_infos)...);</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_afa04b5bdea84e0effab066e3b1324ec5"><div class="ttname"><a href="namespacearm__compute.xhtml#afa04b5bdea84e0effab066e3b1324ec5">arm_compute::error_on_mismatching_shapes</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_shapes(const char *function, const char *file, const int line, unsigned int upper_dim, const ITensor *tensor_1, const ITensor *tensor_2, Ts...tensors)</div><div class="ttdoc">Return an error if the passed two tensors have different shapes from the given dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00349">Validate.h:349</a></div></div>
</div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="a496e03102bca40f666c12a575d4a6157"></a>
+<a class="anchor" id="a41328dd4b943d34c1cc61410571fd6fa"></a>
<div class="memitem">
<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">void arm_compute::error_on_mismatching_shapes </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_shapes </td>
+ <td>(</td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>function</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>file</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const int </td>
+ <td class="paramname"><em>line</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
+ <td class="paramname"><em>tensor_1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
+ <td class="paramname"><em>tensor_2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Ts... </td>
+ <td class="paramname"><em>tensors</em> </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>Return an error if the passed two tensors have different shapes from the given dimension. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
+
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00303">303</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+
+<p>References <a class="el" href="_validate_8h_source.xhtml#l00286">error_on_mismatching_shapes()</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>.</p>
+<div class="fragment"><div class="line"><a name="l00305"></a><span class="lineno"> 305</span> {</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#afa04b5bdea84e0effab066e3b1324ec5">error_on_mismatching_shapes</a>(<span class="keyword">function</span>, file, line, 0U, tensor_1, tensor_2, std::forward<Ts>(tensors)...);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_afa04b5bdea84e0effab066e3b1324ec5"><div class="ttname"><a href="namespacearm__compute.xhtml#afa04b5bdea84e0effab066e3b1324ec5">arm_compute::error_on_mismatching_shapes</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_shapes(const char *function, const char *file, const int line, unsigned int upper_dim, const ITensor *tensor_1, const ITensor *tensor_2, Ts...tensors)</div><div class="ttdoc">Return an error if the passed two tensors have different shapes from the given dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00349">Validate.h:349</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="aac6150cce1c9c666600e4b320a0066e9"></a>
+<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="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_shapes </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>function</em>, </td>
@@ -10104,20 +10916,20 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const ITensor * </td>
- <td class="paramname"><em>tensor_1</em>, </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>tensor_info_1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const ITensor * </td>
- <td class="paramname"><em>tensor_2</em>, </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>tensor_info_2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Ts... </td>
- <td class="paramname"><em>tensors</em> </td>
+ <td class="paramname"><em>tensor_infos</em> </td>
</tr>
<tr>
<td></td>
@@ -10125,56 +10937,49 @@
<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>Throw an error if the passed two tensors have different shapes from the given dimension. </p>
+<p>Return an error if the passed two tensors have different shapes from the given dimension. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">upper_dim</td><td>The dimension from which to check. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_1</td><td>The first tensor info to be compared. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info_2</td><td>The second tensor info to be compared. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_infos</td><td>(Optional) Further allowed tensor infos.</td></tr>
</table>
</dd>
</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
-<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00241">241</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00321">321</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00134">ARM_COMPUTE_ERROR_ON_LOC</a>, <a class="el" href="_error_8h_source.xhtml#l00116">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="_validate_8h_source.xhtml#l00051">arm_compute::detail::have_different_dimensions()</a>, and <a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00243"></a><span class="lineno"> 243</span> {</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(<span class="keyword">function</span>);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(file);</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(line);</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keyword">const</span> std::array < <span class="keyword">const</span> ITensor *, 2 + <span class="keyword">sizeof</span>...(Ts) > tensors_array{ { tensor_1, tensor_2, std::forward<Ts>(tensors)... } };</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(tensors_array);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(tensors_array.cbegin() == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(std::any_of(std::next(tensors_array.cbegin()), tensors_array.cend(), [&](<span class="keyword">const</span> ITensor * tensor)</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  {</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(tensor == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">detail::have_different_dimensions</a>((*tensors_array.cbegin())-><a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>()->tensor_shape(), tensor->info()->tensor_shape(), upper_dim);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  }),</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"Tensors have different shapes"</span>);</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a1b62e396a1789909dadda61ea4cda96f"><div class="ttname"><a href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00116">Error.h:116</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -> set_format(Format::S16)</div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00208">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00170">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00134">error_on_nullptr()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00051">arm_compute::detail::have_different_dimensions()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00323"></a><span class="lineno"> 323</span> {</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <a class="code" href="core_2_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_info_1 == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <a class="code" href="core_2_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_info_2 == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <a class="code" href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward<Ts>(tensor_infos)...));</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keyword">const</span> std::array < <span class="keyword">const</span> ITensorInfo *, 2 + <span class="keyword">sizeof</span>...(Ts) > tensors_info_array{ { tensor_info_1, tensor_info_2, std::forward<Ts>(tensor_infos)... } };</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <a class="code" href="core_2_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(std::any_of(std::next(tensors_info_array.cbegin()), tensors_info_array.cend(), [&](<span class="keyword">const</span> ITensorInfo * tensor_info)</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  {</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">detail::have_different_dimensions</a>((*tensors_info_array.cbegin())->tensor_shape(), tensor_info->tensor_shape(), upper_dim);</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  }),</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keyword">function</span>, file, line, <span class="stringliteral">"Tensors have different shapes"</span>);</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &&...pointers)</div><div class="ttdoc">Create an error if one of the pointers is a nullptr. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00134">Validate.h:134</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00039">Error.h:39</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="core_2_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="core_2_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00208">Error.h:208</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1detail_xhtml_a45d610a8bc262f7007c934293361e888"><div class="ttname"><a href="namespacearm__compute_1_1detail.xhtml#a45d610a8bc262f7007c934293361e888">arm_compute::detail::have_different_dimensions</a></div><div class="ttdeci">bool have_different_dimensions(const Dimensions< T > &dim1, const Dimensions< T > &dim2, unsigned int upper_dim)</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00051">Validate.h:51</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_ac90c3bce005225cbaa4a43740917bb58"><div class="ttname"><a href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00134">Error.h:134</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00170">Error.h:170</a></div></div>
</div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="a26a9847c05c48bd1470f22f898ee254d"></a>
+<a class="anchor" id="afa04b5bdea84e0effab066e3b1324ec5"></a>
<div class="memitem">
<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">void arm_compute::error_on_mismatching_windows </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_shapes </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>function</em>, </td>
@@ -10194,13 +10999,98 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Window & </td>
+ <td class="paramtype">unsigned int </td>
+ <td class="paramname"><em>upper_dim</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
+ <td class="paramname"><em>tensor_1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
+ <td class="paramname"><em>tensor_2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Ts... </td>
+ <td class="paramname"><em>tensors</em> </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>Return an error if the passed two tensors have different shapes from the given dimension. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">upper_dim</td><td>The dimension from which to check. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_1</td><td>The first tensor to be compared. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_2</td><td>The second tensor to be compared. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensors</td><td>(Optional) Further allowed tensors.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
+
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00349">349</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00170">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00286">error_on_mismatching_shapes()</a>, <a class="el" href="_validate_8h_source.xhtml#l00134">error_on_nullptr()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00351"></a><span class="lineno"> 351</span> {</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <a class="code" href="core_2_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_1 == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <a class="code" href="core_2_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor_2 == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <a class="code" href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a>(<span class="keyword">function</span>, file, line, std::forward<Ts>(tensors)...));</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <a class="code" href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#aea117e0cebca5f4642ed3f269217a09e">arm_compute::error_on_mismatching_shapes</a>(<span class="keyword">function</span>, file, line, upper_dim, tensor_1->info(), tensor_2->info(),</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  detail::get_tensor_info_t<ITensorInfo *>()(tensors)...));</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_af4587cd36ddbf2e4dde217d1a1007940"><div class="ttname"><a href="namespacearm__compute.xhtml#af4587cd36ddbf2e4dde217d1a1007940">arm_compute::error_on_nullptr</a></div><div class="ttdeci">arm_compute::Status error_on_nullptr(const char *function, const char *file, const int line, Ts &&...pointers)</div><div class="ttdoc">Create an error if one of the pointers is a nullptr. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00134">Validate.h:134</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_aea117e0cebca5f4642ed3f269217a09e"><div class="ttname"><a href="namespacearm__compute.xhtml#aea117e0cebca5f4642ed3f269217a09e">arm_compute::error_on_mismatching_shapes</a></div><div class="ttdeci">arm_compute::Status error_on_mismatching_shapes(const char *function, const char *file, const int line, const ITensorInfo *tensor_info_1, const ITensorInfo *tensor_info_2, Ts...tensor_infos)</div><div class="ttdoc">Return an error if the passed two tensor infos have different shapes from the given dimension...</div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00286">Validate.h:286</a></div></div>
+<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00039">Error.h:39</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="core_2_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00170">Error.h:170</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a75738bb24f735248ab9584cd24544234"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_mismatching_windows </td>
+ <td>(</td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>function</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>file</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const int </td>
+ <td class="paramname"><em>line</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
<td class="paramname"><em>full</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Window & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
<td class="paramname"><em>win</em> </td>
</tr>
<tr>
@@ -10211,33 +11101,35 @@
</table>
</div><div class="memdoc">
-<p>Throw an error if the passed window is invalid. </p>
-<p>The subwindow is invalid if:</p>
-<ul>
+<p>Return an error if the passed window is invalid. </p>
+<p>The subwindow is invalid if:</p><ul>
<li>It is not a valid window.</li>
<li>Its dimensions don't match the full window's ones</li>
-<li><p class="startli">The step for each of its dimension is not identical to the corresponding one of the full window.</p>
+<li>The step for each of its dimension is not identical to the corresponding one of the full window.</li>
+</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">full</td><td>Full size window </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">win</td><td><a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> to validate. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">win</td><td><a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> to validate.</td></tr>
</table>
</dd>
</dl>
-</li>
-</ul>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
</div>
</div>
-<a class="anchor" id="a078507835115009a81ee2974d6073bb9"></a>
+<a class="anchor" id="af4587cd36ddbf2e4dde217d1a1007940"></a>
<div class="memitem">
<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">void arm_compute::error_on_nullptr </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_nullptr </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>function</em>, </td>
@@ -10266,41 +11158,41 @@
<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>Throw an error if one of the pointers is a nullptr. </p>
+<p>Create an error if one of the pointers is a nullptr. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">pointers</td><td>Pointers to check against nullptr. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">pointers</td><td>Pointers to check against nullptr.</td></tr>
</table>
</dd>
</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
-<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00105">105</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00134">134</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00134">ARM_COMPUTE_ERROR_ON_LOC</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00208">for_each()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> {</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keyword">auto</span> is_nullptr = [&](<span class="keyword">const</span> <span class="keywordtype">void</span> *ptr)</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  {</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <a class="code" href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a>(ptr == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  };</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <a class="code" href="namespacearm__compute.xhtml#a76e58198af8e930a851637e7e3eccbd2">for_each</a>(is_nullptr, std::forward<Ts>(pointers)...);</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a76e58198af8e930a851637e7e3eccbd2"><div class="ttname"><a href="namespacearm__compute.xhtml#a76e58198af8e930a851637e7e3eccbd2">arm_compute::for_each</a></div><div class="ttdeci">void for_each(F &&)</div><div class="ttdoc">Base case of for_each. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00208">Helpers.h:208</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_ac90c3bce005225cbaa4a43740917bb58"><div class="ttname"><a href="_error_8h.xhtml#ac90c3bce005225cbaa4a43740917bb58">ARM_COMPUTE_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00134">Error.h:134</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00208">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>.</p>
+
+<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00375">error_on_mismatching_data_types()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00321">error_on_mismatching_shapes()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> {</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keyword">const</span> std::array<<span class="keyword">const</span> <span class="keywordtype">void</span> *, <span class="keyword">sizeof</span>...(Ts)> pointers_array{ { std::forward<Ts>(pointers)... } };</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordtype">bool</span> has_nullptr = std::any_of(pointers_array.begin(), pointers_array.end(), [&](<span class="keyword">const</span> <span class="keywordtype">void</span> *ptr)</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  {</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">return</span> (ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  });</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <a class="code" href="core_2_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(has_nullptr, <span class="keyword">function</span>, file, line, <span class="stringliteral">"Nullptr object!"</span>);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> }</div><div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00039">Error.h:39</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="core_2_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00208">Error.h:208</a></div></div>
</div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="a65c8e0610dff27ecf1ef30214f08d19e"></a>
+<a class="anchor" id="a9f37a1ead28d12ce216e27209dae2a81"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void arm_compute::error_on_tensor_not_2d </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_tensor_not_2d </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>function</em>, </td>
@@ -10320,7 +11212,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const ITensor * </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
<td class="paramname"><em>tensor</em> </td>
</tr>
<tr>
@@ -10331,25 +11223,26 @@
</table>
</div><div class="memdoc">
-<p>Throw an error if the tensor is not 2D. </p>
+<p>Return an error if the tensor is not 2D. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> to validate. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface. ">Tensor</a> to validate.</td></tr>
</table>
</dd>
</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
</div>
</div>
-<a class="anchor" id="a21a4884cd1dbfa83351b8efa265f526a"></a>
+<a class="anchor" id="a33278ff3c7798e50c453599576f58bd8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void arm_compute::error_on_unconfigured_kernel </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_unconfigured_kernel </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>function</em>, </td>
@@ -10369,7 +11262,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const IKernel * </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_kernel.xhtml">IKernel</a> * </td>
<td class="paramname"><em>kernel</em> </td>
</tr>
<tr>
@@ -10380,7 +11273,7 @@
</table>
</div><div class="memdoc">
-<p>Throw an error if the kernel is not configured. </p>
+<p>Return an error if the kernel is not configured. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
@@ -10393,12 +11286,15 @@
</div>
</div>
-<a class="anchor" id="a9afdaa4d8bbb78938110ada1daf87f8b"></a>
+<a class="anchor" id="a902b2c73a1317fd91a167e9d4d3f211b"></a>
<div class="memitem">
<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">void arm_compute::error_on_value_not_representable_in_fixed_point </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_value_not_representable_in_fixed_point </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>function</em>, </td>
@@ -10424,7 +11320,84 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const ITensor * </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> * </td>
+ <td class="paramname"><em>tensor_info</em> </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>Return an error if the fixed-point value is not representable in the specified Q format. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The floating point value to be checked. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor_info</td><td>Input tensor info that has information on data type and fixed-point position.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
+
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00865">865</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00208">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00164">element_size_from_data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab21a362740e892b6e913bd8db03b0e67">ITensorInfo::fixed_point_position()</a>, and <a class="el" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type()</a>.</p>
+
+<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00887">error_on_value_not_representable_in_fixed_point()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00867"></a><span class="lineno"> 867</span> {</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> fixed_point_position = tensor_info->fixed_point_position();</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt = tensor_info->data_type();</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> q_max_range = 0xFFFFFFFFu >> (((<span class="keyword">sizeof</span>(<span class="keywordtype">unsigned</span> int) - <a class="code" href="namespacearm__compute.xhtml#a34b06c0cd94808a77b697e79880b84b0">element_size_from_data_type</a>(dt)) * 8) + 1);</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> max_range = q_max_range / (<span class="keyword">static_cast<</span><span class="keywordtype">float</span><span class="keyword">></span>(1 << fixed_point_position));</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span> </div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  <a class="code" href="core_2_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a>(<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> > max_range, <span class="keyword">function</span>, file, line,</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  <span class="stringliteral">"Value %f is not representable in %s with fixed-point position %d"</span>, <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, <a class="code" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type</a>(dt).c_str(), fixed_point_position);</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a34b06c0cd94808a77b697e79880b84b0"><div class="ttname"><a href="namespacearm__compute.xhtml#a34b06c0cd94808a77b697e79880b84b0">arm_compute::element_size_from_data_type</a></div><div class="ttdeci">size_t element_size_from_data_type(DataType dt)</div><div class="ttdoc">The size in bytes of the data type. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00164">Utils.h:164</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_aefa1d9648995e5eccc693c690e27aa88"><div class="ttname"><a href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">arm_compute::string_from_data_type</a></div><div class="ttdeci">const std::string & string_from_data_type(DataType dt)</div><div class="ttdoc">Convert a data type identity into a string. </div></div>
+<div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00039">Error.h:39</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_ab4ebbfbeedd9d66614ddbfdb14199cbf"><div class="ttname"><a href="core_2_error_8h.xhtml#ab4ebbfbeedd9d66614ddbfdb14199cbf">ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdoc">If the condition is true, an error is thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00208">Error.h:208</a></div></div>
+<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00071">Types.h:71</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ad865b21069f578ddb1c65cb32f3fcaa0"></a>
+<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="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_value_not_representable_in_fixed_point </td>
+ <td>(</td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>function</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>file</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int </td>
+ <td class="paramname"><em>line</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>value</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> * </td>
<td class="paramname"><em>tensor</em> </td>
</tr>
<tr>
@@ -10433,48 +11406,43 @@
<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>Throw an error if the fixed-point value is not representable in the specified Q format. </p>
+<p>Return an error an error if the fixed-point value is not representable in the specified Q format. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function in which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The floating point value to be checked. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td>Input tensor that has information on data type and fixed-point position. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td>Input tensor that has information on data type and fixed-point position.</td></tr>
</table>
</dd>
</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
-<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00565">565</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
+<p>Definition at line <a class="el" href="_validate_8h_source.xhtml#l00887">887</a> of file <a class="el" href="_validate_8h_source.xhtml">Validate.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00116">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>, <a class="el" href="_error_8h_source.xhtml#l00049">ARM_COMPUTE_UNUSED</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00162">element_size_from_data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab21a362740e892b6e913bd8db03b0e67">ITensorInfo::fixed_point_position()</a>, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>, and <a class="el" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00567"></a><span class="lineno"> 567</span> {</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> fixed_point_position = tensor->info()->fixed_point_position();</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> dt = tensor->info()->data_type();</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> q_max_range = 0xFFFFFFFFu >> (((<span class="keyword">sizeof</span>(<span class="keywordtype">unsigned</span> int) - <a class="code" href="namespacearm__compute.xhtml#a34b06c0cd94808a77b697e79880b84b0">element_size_from_data_type</a>(dt)) * 8) + 1);</div>
-<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> max_range = q_max_range / (<span class="keyword">static_cast<</span><span class="keywordtype">float</span><span class="keyword">></span>(1 << fixed_point_position));</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <a class="code" href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a>(max_range);</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> </div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  <a class="code" href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a>(<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> > max_range, <span class="keyword">function</span>, file, line,</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <span class="stringliteral">"Value %f is not representable in %s with fixed-point position %d"</span>, <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, <a class="code" href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">string_from_data_type</a>(dt).c_str(), fixed_point_position);</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a1b62e396a1789909dadda61ea4cda96f"><div class="ttname"><a href="_error_8h.xhtml#a1b62e396a1789909dadda61ea4cda96f">ARM_COMPUTE_ERROR_ON_LOC_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_LOC_MSG(cond, func, file, line,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00116">Error.h:116</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a34b06c0cd94808a77b697e79880b84b0"><div class="ttname"><a href="namespacearm__compute.xhtml#a34b06c0cd94808a77b697e79880b84b0">arm_compute::element_size_from_data_type</a></div><div class="ttdeci">size_t element_size_from_data_type(DataType dt)</div><div class="ttdoc">The size in bytes of the data type. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00162">Utils.h:162</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a4103adbb45806b2f2002d44b91d0d206"><div class="ttname"><a href="_error_8h.xhtml#a4103adbb45806b2f2002d44b91d0d206">ARM_COMPUTE_UNUSED</a></div><div class="ttdeci">#define ARM_COMPUTE_UNUSED(var)</div><div class="ttdoc">To avoid unused variables warnings. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00049">Error.h:49</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_aefa1d9648995e5eccc693c690e27aa88"><div class="ttname"><a href="namespacearm__compute.xhtml#aefa1d9648995e5eccc693c690e27aa88">arm_compute::string_from_data_type</a></div><div class="ttdeci">const std::string & string_from_data_type(DataType dt)</div><div class="ttdoc">Convert a data type identity into a string. </div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00231">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00170">ARM_COMPUTE_RETURN_ON_ERROR</a>, <a class="el" href="_validate_8h_source.xhtml#l00865">error_on_value_not_representable_in_fixed_point()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">ITensor::info()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00889"></a><span class="lineno"> 889</span> {</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  <a class="code" href="core_2_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a>(tensor == <span class="keyword">nullptr</span>, <span class="keyword">function</span>, file, line);</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>  <a class="code" href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a>(::<a class="code" href="namespacearm__compute.xhtml#a902b2c73a1317fd91a167e9d4d3f211b">arm_compute::error_on_value_not_representable_in_fixed_point</a>(<span class="keyword">function</span>, file, line, <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>, tensor->info()));</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>  <span class="keywordflow">return</span> <a class="code" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a>{};</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span> }</div><div class="ttc" id="classarm__compute_1_1_status_xhtml"><div class="ttname"><a href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a></div><div class="ttdoc">Status class. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00039">Error.h:39</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_aab9171b209dda7cc9bb560486674c9f6"><div class="ttname"><a href="core_2_error_8h.xhtml#aab9171b209dda7cc9bb560486674c9f6">ARM_COMPUTE_RETURN_ERROR_ON_LOC</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ERROR_ON_LOC(cond, func, file, line)</div><div class="ttdoc">If the condition is true, an error is returned. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00231">Error.h:231</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a902b2c73a1317fd91a167e9d4d3f211b"><div class="ttname"><a href="namespacearm__compute.xhtml#a902b2c73a1317fd91a167e9d4d3f211b">arm_compute::error_on_value_not_representable_in_fixed_point</a></div><div class="ttdeci">arm_compute::Status error_on_value_not_representable_in_fixed_point(const char *function, const char *file, int line, float value, const ITensorInfo *tensor_info)</div><div class="ttdoc">Return an error if the fixed-point value is not representable in the specified Q format. </div><div class="ttdef"><b>Definition:</b> <a href="_validate_8h_source.xhtml#l00865">Validate.h:865</a></div></div>
<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">arm_compute::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdoc">Available data types. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00064">Types.h:64</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_a8a1e1c105f0bdaf37db408c7cfcb77a4"><div class="ttname"><a href="core_2_error_8h.xhtml#a8a1e1c105f0bdaf37db408c7cfcb77a4">ARM_COMPUTE_RETURN_ON_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_RETURN_ON_ERROR(status)</div><div class="ttdoc">Checks if a status contains an error and returns it. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00170">Error.h:170</a></div></div>
</div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="a6fed5543ae383442a51362e6607c4e65"></a>
+<a class="anchor" id="a1b1ebe735a15f66be7ebe8dccdbcee15"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void arm_compute::error_on_window_dimensions_gte </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_window_dimensions_gte </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>function</em>, </td>
@@ -10494,7 +11462,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Window & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
<td class="paramname"><em>win</em>, </td>
</tr>
<tr>
@@ -10511,7 +11479,7 @@
</table>
</div><div class="memdoc">
-<p>Throw an error if the passed window has too many dimensions. </p>
+<p>Return an error if the passed window has too many dimensions. </p>
<p>The window has too many dimensions if any of the dimension greater or equal to max_dim is different from 0.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
@@ -10519,19 +11487,20 @@
<tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>Name of the file where the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">win</td><td><a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> to validate </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">max_dim</td><td>Maximum number of dimensions allowed. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">max_dim</td><td>Maximum number of dimensions allowed.</td></tr>
</table>
</dd>
</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
</div>
</div>
-<a class="anchor" id="ade618d7802413e82df0d9c1dbb049138"></a>
+<a class="anchor" id="a220627e9e23de1058191022aea58e1cf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void arm_compute::error_on_window_not_collapsable_at_dimension </td>
+ <td class="memname"><a class="el" href="classarm__compute_1_1_status.xhtml">arm_compute::Status</a> arm_compute::error_on_window_not_collapsable_at_dimension </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>function</em>, </td>
@@ -10551,13 +11520,13 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Window & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
<td class="paramname"><em>full</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Window & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
<td class="paramname"><em>window</em>, </td>
</tr>
<tr>
@@ -10574,7 +11543,7 @@
</table>
</div><div class="memdoc">
-<p>Throw an error if the window can't be collapsed at the given dimension. </p>
+<p>Return an error if the window can't be collapsed at the given dimension. </p>
<p>The window cannot be collapsed if the given dimension not equal to the full window's dimension or not start from 0.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
@@ -10583,10 +11552,11 @@
<tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line on which the error occurred. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">full</td><td>Full size window </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td><a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window. ">Window</a> to be collapsed. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">dim</td><td>Dimension need to be checked. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">dim</td><td>Dimension need to be checked.</td></tr>
</table>
</dd>
</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_status.xhtml" title="Status class. ">Status</a> </dd></dl>
</div>
</div>
@@ -10600,7 +11570,7 @@
<tr>
<td class="memname">void execute_window_loop </td>
<td>(</td>
- <td class="paramtype">const Window & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
<td class="paramname"><em>w</em>, </td>
</tr>
<tr>
@@ -10643,14 +11613,8 @@
<p>References <a class="el" href="hwc_8hpp_source.xhtml#l00252">id</a>, and <a class="el" href="_window_8inl_source.xhtml#l00112">Window::validate()</a>.</p>
-<p>Referenced by <a class="el" href="_graph_utils_8cpp_source.xhtml#l00205">NumPyBinLoader::access_tensor()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00550">colorconvert_iyuv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00445">colorconvert_iyuv_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00737">colorconvert_iyuv_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00591">colorconvert_nv12_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00389">colorconvert_nv12_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00686">colorconvert_nv12_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00825">colorconvert_rgb_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00789">colorconvert_rgb_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00303">colorconvert_rgb_to_rgbx()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00862">colorconvert_rgb_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00327">colorconvert_rgbx_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00633">colorconvert_yuyv_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00502">colorconvert_yuyv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00351">colorconvert_yuyv_to_rgb()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00403">AssetsLibrary::fill()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00377">AssetsLibrary::fill_borders_with_garbage()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00187">PPMLoader::fill_image()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00656">AssetsLibrary::fill_layer_data()</a>, <a class="el" href="_le_net5_network_8h_source.xhtml#l00161">LeNet5Network< TensorType, arm_compute::test::Accessor, ActivationLayerFunction, ConvolutionLayerFunction, FullyConnectedLayerFunction, PoolingLayerFunction, SoftmaxLayerFunction >::get_classifications()</a>, <a class="el" href="_alex_net_network_8h_source.xhtml#l00422">AlexNetNetwork< ITensorType, TensorType, SubTensorType, arm_compute::test::Accessor, ActivationLayerFunction, ConvolutionLayerFunction, DirectConvolutionLayerFunction, FullyConnectedLayerFunction, NormalizationLayerFunction, PoolingLayerFunction, SoftmaxLayerFunction >::get_classifications()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00357">arm_compute::utils::load_trained_data()</a>, <a class="el" href="neon__copy__objects_8cpp_source.xhtml#l00035">main_neon_copy_objects()</a>, and <a class="el" href="utils_2_utils_8h_source.xhtml#l00281">arm_compute::utils::save_to_ppm()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> {</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  w.validate();</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  Coordinates <a class="code" href="hwc_8hpp.xhtml#abaabdc509cdaba7df9f56c6c76f3ae19">id</a>;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  ForEachDimension<Coordinates::num_max_dimensions>::unroll(w, <span class="keywordtype">id</span>, std::forward<L>(lambda_function), std::forward<Ts>(iterators)...);</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> }</div>
-<div class="ttc" id="hwc_8hpp_xhtml_abaabdc509cdaba7df9f56c6c76f3ae19"><div class="ttname"><a href="hwc_8hpp.xhtml#abaabdc509cdaba7df9f56c6c76f3ae19">id</a></div><div class="ttdeci">uint32_t id</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00252">hwc.hpp:252</a></div></div>
+<p>Referenced by <a class="el" href="_graph_utils_8cpp_source.xhtml#l00088">PPMAccessor::access_tensor()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00296">NumPyBinLoader::access_tensor()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00550">colorconvert_iyuv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00445">colorconvert_iyuv_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00737">colorconvert_iyuv_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00591">colorconvert_nv12_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00389">colorconvert_nv12_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00686">colorconvert_nv12_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00825">colorconvert_rgb_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00789">colorconvert_rgb_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00303">colorconvert_rgb_to_rgbx()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00862">colorconvert_rgb_to_yuv4()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00327">colorconvert_rgbx_to_rgb()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00633">colorconvert_yuyv_to_iyuv()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00502">colorconvert_yuyv_to_nv12()</a>, <a class="el" href="_n_e_color_convert_helper_8inl_source.xhtml#l00351">colorconvert_yuyv_to_rgb()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00406">AssetsLibrary::fill()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00377">AssetsLibrary::fill_borders_with_garbage()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00296">PPMLoader::fill_image()</a>, <a class="el" href="_assets_library_8h_source.xhtml#l00661">AssetsLibrary::fill_layer_data()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00383">PPMLoader::fill_planar_tensor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00839">arm_compute::utils::fill_random_tensor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00545">NPYLoader::fill_tensor()</a>, <a class="el" href="_le_net5_network_8h_source.xhtml#l00161">LeNet5Network< TensorType, arm_compute::test::Accessor, ActivationLayerFunction, ConvolutionLayerFunction, FullyConnectedLayerFunction, PoolingLayerFunction, SoftmaxLayerFunction >::get_classifications()</a>, <a class="el" href="_mobile_net_network_8h_source.xhtml#l00170">MobileNetNetwork< TensorType, arm_compute::test::Accessor, ActivationLayerFunction, ConvolutionLayerFunction, DirectConvolutionLayerFunction, DepthwiseConvolutionLayerFunction, ReshapeFunction, PoolingLayerFunction >::get_classifications()</a>, <a class="el" href="_mobile_net_v1_network_8h_source.xhtml#l00205">MobileNetV1Network< TensorType, arm_compute::test::Accessor, ActivationLayerFunction, BatchNormalizationLayerFunction, ConvolutionLayerFunction, DirectConvolutionLayerFunction, DepthwiseConvolutionFunction, ReshapeFunction, PoolingLayerFunction, SoftmaxLayerFunction >::get_classifications()</a>, <a class="el" href="_alex_net_network_8h_source.xhtml#l00422">AlexNetNetwork< ITensorType, TensorType, SubTensorType, arm_compute::test::Accessor, ActivationLayerFunction, ConvolutionLayerFunction, DirectConvolutionLayerFunction, FullyConnectedLayerFunction, NormalizationLayerFunction, PoolingLayerFunction, SoftmaxLayerFunction >::get_classifications()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00792">arm_compute::utils::load_trained_data()</a>, <a class="el" href="neon__copy__objects_8cpp_source.xhtml#l00035">main_neon_copy_objects()</a>, <a class="el" href="_graph_utils_8cpp_source.xhtml#l00181">RandomAccessor::RandomAccessor()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00720">arm_compute::utils::save_to_npy()</a>, <a class="el" href="utils_2_utils_8h_source.xhtml#l00639">arm_compute::utils::save_to_ppm()</a>, and <a class="el" href="_dequantization_layer_fixture_8h_source.xhtml#l00050">DequantizationValidationFixedPointFixture< TensorType, AccessorType, FunctionType, T >::setup()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> {</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  w.validate();</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  Coordinates <a class="code" href="hwc_8hpp.xhtml#abaabdc509cdaba7df9f56c6c76f3ae19">id</a>;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  ForEachDimension<Coordinates::num_max_dimensions>::unroll(w, <span class="keywordtype">id</span>, std::forward<L>(lambda_function), std::forward<Ts>(iterators)...);</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> }</div><div class="ttc" id="hwc_8hpp_xhtml_abaabdc509cdaba7df9f56c6c76f3ae19"><div class="ttname"><a href="hwc_8hpp.xhtml#abaabdc509cdaba7df9f56c6c76f3ae19">id</a></div><div class="ttdeci">uint32_t id</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00252">hwc.hpp:252</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -10685,14 +11649,8 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>String with the floating point value. </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00702">702</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00703"></a><span class="lineno"> 703</span> {</div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  std::stringstream ss;</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>  ss.precision(std::numeric_limits<float>::digits10 + 1);</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>  ss << val;</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  <span class="keywordflow">return</span> ss.str();</div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> }</div>
-</div><!-- fragment -->
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00813">813</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00814"></a><span class="lineno"> 814</span> {</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>  std::stringstream ss;</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  ss.precision(std::numeric_limits<float>::digits10 + 1);</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  ss << val;</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  <span class="keywordflow">return</span> ss.str();</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a6959e681668a37a9242d2aae4e8b4375"></a>
@@ -10730,14 +11688,10 @@
<p>Computes the largest number smaller or equal to value that is a multiple of divisor. </p>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00052">52</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00053">53</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
-<div class="fragment"><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> {</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> < 0 || divisor <= 0);</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keywordflow">return</span> (<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> / divisor) * divisor;</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
+<div class="fragment"><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> {</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> < 0 || divisor <= 0);</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordflow">return</span> (<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> / divisor) * divisor;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
</div><!-- fragment -->
</div>
@@ -10777,15 +11731,12 @@
<p>Base case of foldl. </p>
<dl class="section return"><dt>Returns</dt><dd>value. </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00230">230</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00294">294</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-<p>References <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
+<p>References <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00055">enable_bitwise_ops< T >::value</a>.</p>
-<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00253">foldl()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00403">intersect_valid_regions()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00231"></a><span class="lineno"> 231</span> {</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordflow">return</span> <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> }</div>
-<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00317">foldl()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00467">intersect_valid_regions()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> {</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">return</span> <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span> }</div><div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -10831,11 +11782,8 @@
<p>Base case of foldl. </p>
<dl class="section return"><dt>Returns</dt><dd>Function evaluation for value1 and value2 </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00240">240</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> {</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keywordflow">return</span> func(value1, value2);</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> }</div>
-</div><!-- fragment -->
+<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00304">304</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00305"></a><span class="lineno"> 305</span> {</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">return</span> func(value1, value2);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a05d0de315da2ecf1fa7d22ffad49b254"></a>
@@ -10893,14 +11841,11 @@
</dd>
</dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00253">253</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00317">317</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-<p>References <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00230">foldl()</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
-<div class="fragment"><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> {</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a05d0de315da2ecf1fa7d22ffad49b254">foldl</a>(std::forward<F>(func), func(std::forward<I>(initial), std::forward<T>(<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>)), std::forward<Vs>(values)...);</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> }</div>
-<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a05d0de315da2ecf1fa7d22ffad49b254"><div class="ttname"><a href="namespacearm__compute.xhtml#a05d0de315da2ecf1fa7d22ffad49b254">arm_compute::foldl</a></div><div class="ttdeci">I foldl(F &&func, I &&initial, T &&value, Vs &&...values)</div><div class="ttdoc">Fold left. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00253">Helpers.h:253</a></div></div>
+<p>References <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00294">foldl()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00055">enable_bitwise_ops< T >::value</a>.</p>
+<div class="fragment"><div class="line"><a name="l00318"></a><span class="lineno"> 318</span> {</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a05d0de315da2ecf1fa7d22ffad49b254">foldl</a>(std::forward<F>(func), func(std::forward<I>(initial), std::forward<T>(<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>)), std::forward<Vs>(values)...);</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span> }</div><div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a05d0de315da2ecf1fa7d22ffad49b254"><div class="ttname"><a href="namespacearm__compute.xhtml#a05d0de315da2ecf1fa7d22ffad49b254">arm_compute::foldl</a></div><div class="ttdeci">I foldl(F &&func, I &&initial, T &&value, Vs &&...values)</div><div class="ttdoc">Fold left. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00317">Helpers.h:317</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -10929,12 +11874,10 @@
<p>Base case of for_each. </p>
<p>Does nothing. </p>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00208">208</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00272">272</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00203">error_on_mismatching_dimensions()</a>, <a class="el" href="_validate_8h_source.xhtml#l00105">error_on_nullptr()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00219">for_each()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00343">update_window_and_padding()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> {</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> }</div>
-</div><!-- fragment -->
+<p>Referenced by <a class="el" href="_branch_layer_8h_source.xhtml#l00054">BranchLayer::BranchLayer()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00283">for_each()</a>, <a class="el" href="_framework_8cpp_source.xhtml#l00142">Framework::print_test_info()</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00407">update_window_and_padding()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00273"></a><span class="lineno"> 273</span> {</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="ab951ff3c9484cd4b243344b3a0f12d95"></a>
@@ -10985,18 +11928,41 @@
</dd>
</dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00219">219</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00283">283</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00021">caffe_data_extractor::args</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00208">for_each()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00220"></a><span class="lineno"> 220</span> {</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  func(arg);</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <a class="code" href="namespacearm__compute.xhtml#ab951ff3c9484cd4b243344b3a0f12d95">for_each</a>(func, <a class="code" href="namespacecaffe__data__extractor.xhtml#aad3cdfd6574de97bf37448087aaff11d">args</a>...);</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab951ff3c9484cd4b243344b3a0f12d95"><div class="ttname"><a href="namespacearm__compute.xhtml#ab951ff3c9484cd4b243344b3a0f12d95">arm_compute::for_each</a></div><div class="ttdeci">void for_each(F &&func, T &&arg, Ts &&...args)</div><div class="ttdoc">Call the function for each of the arguments. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00219">Helpers.h:219</a></div></div>
-<div class="ttc" id="namespacecaffe__data__extractor_xhtml_aad3cdfd6574de97bf37448087aaff11d"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#aad3cdfd6574de97bf37448087aaff11d">caffe_data_extractor.args</a></div><div class="ttdeci">tuple args</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00021">caffe_data_extractor.py:21</a></div></div>
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00021">caffe_data_extractor::args</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00272">for_each()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00284"></a><span class="lineno"> 284</span> {</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  func(arg);</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <a class="code" href="namespacearm__compute.xhtml#ab951ff3c9484cd4b243344b3a0f12d95">for_each</a>(func, <a class="code" href="namespacecaffe__data__extractor.xhtml#a8187411843a6284ffb964ef3fb9fcab3">args</a>...);</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_ab951ff3c9484cd4b243344b3a0f12d95"><div class="ttname"><a href="namespacearm__compute.xhtml#ab951ff3c9484cd4b243344b3a0f12d95">arm_compute::for_each</a></div><div class="ttdeci">void for_each(F &&func, T &&arg, Ts &&...args)</div><div class="ttdoc">Call the function for each of the arguments. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00283">Helpers.h:283</a></div></div>
+<div class="ttc" id="namespacecaffe__data__extractor_xhtml_a8187411843a6284ffb964ef3fb9fcab3"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a8187411843a6284ffb964ef3fb9fcab3">caffe_data_extractor.args</a></div><div class="ttdeci">args</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00021">caffe_data_extractor.py:21</a></div></div>
</div><!-- fragment -->
</div>
</div>
+<a class="anchor" id="a7f65c0c2b3ad21f427f6bb25f411e0ce"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool arm_compute::fp16_support </td>
+ <td>(</td>
+ <td class="paramtype">const cl::Device & </td>
+ <td class="paramname"><em>device</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Helper function to check whether the cl_khr_fp16 extension is supported. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>A CL device</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
+
+<p>Referenced by <a class="el" href="_c_l_helpers_8h_source.xhtml#l00100">create_kernel()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a4a351d5c39dec88af98a671da1c43fd6"></a>
<div class="memitem">
<div class="memproto">
@@ -11004,7 +11970,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> arm_compute::get_arch_from_target </td>
<td>(</td>
- <td class="paramtype">GPUTarget </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> </td>
<td class="paramname"><em>target</em></td><td>)</td>
<td></td>
</tr>
@@ -11020,6 +11986,8 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>the GPU target which shows the arch </dd></dl>
+<p>Referenced by <a class="el" href="_c_l_helpers_8h_source.xhtml#l00100">create_kernel()</a>.</p>
+
</div>
</div>
<a class="anchor" id="ab04905b0c6c0e4091160561eae870101"></a>
@@ -11029,7 +11997,7 @@
<tr>
<td class="memname">std::string arm_compute::get_cl_type_from_data_type </td>
<td>(</td>
- <td class="paramtype">const DataType & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> & </td>
<td class="paramname"><em>dt</em></td><td>)</td>
<td></td>
</tr>
@@ -11070,6 +12038,8 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>the highest OpenCL version supported </dd></dl>
+<p>Referenced by <a class="el" href="_c_l_helpers_8h_source.xhtml#l00100">create_kernel()</a>.</p>
+
</div>
</div>
<a class="anchor" id="ae5f4dd9f672832f7dce02fc14487f544"></a>
@@ -11079,7 +12049,7 @@
<tr>
<td class="memname">std::string arm_compute::get_data_size_from_data_type </td>
<td>(</td>
- <td class="paramtype">const DataType & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> & </td>
<td class="paramname"><em>dt</em></td><td>)</td>
<td></td>
</tr>
@@ -11097,6 +12067,45 @@
</div>
</div>
+<a class="anchor" id="a5e4254e9c71fffafb79b99d972df8f81"></a>
+<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="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> arm_compute::get_promoted_data_type </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td>
+ <td class="paramname"><em>dt</em></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>Return the promoted data type of a given data type. </p>
+<dl class="section note"><dt>Note</dt><dd>If promoted data type is not supported an error will be thrown</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Data type to get the promoted type of.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Promoted data type </dd></dl>
+
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00358">358</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
+<div class="fragment"><div class="line"><a name="l00359"></a><span class="lineno"> 359</span> {</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  {</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <span class="keywordflow">return</span> DataType::U16;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <span class="keywordflow">return</span> DataType::S16;</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keywordflow">case</span> DataType::QS8:</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <span class="keywordflow">return</span> DataType::QS16;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keywordflow">return</span> DataType::U32;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keywordflow">return</span> DataType::S32;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="keywordflow">case</span> DataType::QS16:</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keywordflow">return</span> DataType::QS32;</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="keywordflow">case</span> DataType::QS32:</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Unsupported data type promotions!"</span>);</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Undefined data type!"</span>);</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  }</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <span class="keywordflow">return</span> DataType::UNKNOWN;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
<a class="anchor" id="a9d0143bdde8255313aae6ac020dd629c"></a>
<div class="memitem">
<div class="memproto">
@@ -11120,7 +12129,7 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>the GPU target </dd></dl>
-<p>Referenced by <a class="el" href="_c_l_scheduler_8h_source.xhtml#l00107">CLScheduler::init()</a>.</p>
+<p>Referenced by <a class="el" href="_c_l_helpers_8h_source.xhtml#l00100">create_kernel()</a>, and <a class="el" href="_c_l_scheduler_8h_source.xhtml#l00107">CLScheduler::init()</a>.</p>
</div>
</div>
@@ -11131,7 +12140,7 @@
<tr>
<td class="memname">std::string arm_compute::get_underlying_cl_type_from_data_type </td>
<td>(</td>
- <td class="paramtype">const DataType & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> & </td>
<td class="paramname"><em>dt</em></td><td>)</td>
<td></td>
</tr>
@@ -11159,7 +12168,7 @@
<tr>
<td class="memname"><a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> index2coords </td>
<td>(</td>
- <td class="paramtype">const TensorShape & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> & </td>
<td class="paramname"><em>shape</em>, </td>
</tr>
<tr>
@@ -11191,28 +12200,13 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>n-dimensional coordinates. </dd></dl>
-<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00288">288</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00320">320</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00115">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00109">Dimensions< T >::num_dimensions()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00074">TensorShape::set()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00135">TensorShape::total_size()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00289"></a><span class="lineno"> 289</span> {</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordtype">int</span> num_elements = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.total_size();</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(index < 0 || index >= num_elements, <span class="stringliteral">"Index has to be in [0, num_elements]!"</span>);</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(num_elements == 0, <span class="stringliteral">"Cannot create coordinate from empty shape!"</span>);</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  Coordinates coord{ 0 };</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> d = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.num_dimensions() - 1; d >= 0; --d)</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  {</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  num_elements /= <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[d];</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  coord.set(d, index / num_elements);</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  index %= num_elements;</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  }</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keywordflow">return</span> coord;</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> }</div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a5bbdcf574d3f5e412fa6a1117911e67b"><div class="ttname"><a href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00115">Error.h:115</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00297">ARM_COMPUTE_ERROR_ON_MSG</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions< T >::num_dimensions()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00074">TensorShape::set()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00135">TensorShape::total_size()</a>.</p>
+
+<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00534">permute()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00321"></a><span class="lineno"> 321</span> {</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordtype">int</span> num_elements = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.total_size();</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <a class="code" href="core_2_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(index < 0 || index >= num_elements, <span class="stringliteral">"Index has to be in [0, num_elements]!"</span>);</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <a class="code" href="core_2_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(num_elements == 0, <span class="stringliteral">"Cannot create coordinate from empty shape!"</span>);</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  Coordinates coord{ 0 };</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> d = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>.num_dimensions() - 1; d >= 0; --d)</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  {</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  num_elements /= <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>[d];</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  coord.set(d, index / num_elements);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  index %= num_elements;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  }</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="keywordflow">return</span> coord;</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_a5bbdcf574d3f5e412fa6a1117911e67b"><div class="ttname"><a href="core_2_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond,...)</div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00297">Error.h:297</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -11239,31 +12233,11 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>Intersection of all regions. </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00403">403</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00467">467</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00123">ValidRegion::anchor</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00230">foldl()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">arm_compute::test::fixed_point_arithmetic::detail::min()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00109">Dimensions< T >::num_dimensions()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions< T >::set()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00074">TensorShape::set()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00124">ValidRegion::shape</a>.</p>
-<div class="fragment"><div class="line"><a name="l00404"></a><span class="lineno"> 404</span> {</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  <span class="keyword">auto</span> intersect = [](<span class="keyword">const</span> ValidRegion & r1, <span class="keyword">const</span> ValidRegion & r2) -> ValidRegion</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  {</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  ValidRegion region;</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> </div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> d = 0; d < <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(r1.anchor.num_dimensions(), r2.anchor.num_dimensions()); ++d)</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  {</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  region.anchor.set(d, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(r1.anchor[d], r2.anchor[d]));</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  }</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> </div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> d = 0; d < <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(r1.shape.num_dimensions(), r2.shape.num_dimensions()); ++d)</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  {</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  region.shape.set(d, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(r1.shape[d], r2.shape[d]));</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  }</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> </div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <span class="keywordflow">return</span> region;</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  };</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a05d0de315da2ecf1fa7d22ffad49b254">foldl</a>(intersect, std::forward<Ts>(regions)...);</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> }</div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point< T > min(fixed_point< T > x, fixed_point< T > y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">FixedPoint.h:884</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a05d0de315da2ecf1fa7d22ffad49b254"><div class="ttname"><a href="namespacearm__compute.xhtml#a05d0de315da2ecf1fa7d22ffad49b254">arm_compute::foldl</a></div><div class="ttdeci">I foldl(F &&func, I &&initial, T &&value, Vs &&...values)</div><div class="ttdoc">Fold left. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00253">Helpers.h:253</a></div></div>
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00185">ValidRegion::anchor</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00294">foldl()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">arm_compute::test::fixed_point_arithmetic::detail::min()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions< T >::num_dimensions()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00074">Dimensions< T >::set()</a>, <a class="el" href="_tensor_shape_8h_source.xhtml#l00074">TensorShape::set()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00186">ValidRegion::shape</a>.</p>
+<div class="fragment"><div class="line"><a name="l00468"></a><span class="lineno"> 468</span> {</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  <span class="keyword">auto</span> intersect = [](<span class="keyword">const</span> ValidRegion & r1, <span class="keyword">const</span> ValidRegion & r2) -> ValidRegion</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  {</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  ValidRegion region;</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span> </div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> d = 0; d < <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(r1.anchor.num_dimensions(), r2.anchor.num_dimensions()); ++d)</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  {</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  region.anchor.set(d, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(r1.anchor[d], r2.anchor[d]));</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  }</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> d = 0; d < <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(r1.shape.num_dimensions(), r2.shape.num_dimensions()); ++d)</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  {</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  region.shape.set(d, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(r1.shape[d], r2.shape[d]));</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  }</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span> </div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <span class="keywordflow">return</span> region;</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  };</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span> </div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a05d0de315da2ecf1fa7d22ffad49b254">foldl</a>(intersect, std::forward<Ts>(regions)...);</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point< T > min(fixed_point< T > x, fixed_point< T > y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">FixedPoint.h:884</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a05d0de315da2ecf1fa7d22ffad49b254"><div class="ttname"><a href="namespacearm__compute.xhtml#a05d0de315da2ecf1fa7d22ffad49b254">arm_compute::foldl</a></div><div class="ttdeci">I foldl(F &&func, I &&initial, T &&value, Vs &&...values)</div><div class="ttdoc">Fold left. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00317">Helpers.h:317</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point< T > max(fixed_point< T > x, fixed_point< T > y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">FixedPoint.h:889</a></div></div>
</div><!-- fragment -->
</div>
@@ -11278,7 +12252,7 @@
<tr>
<td class="memname">bool arm_compute::is_data_type_fixed_point </td>
<td>(</td>
- <td class="paramtype">DataType </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td>
<td class="paramname"><em>dt</em></td><td>)</td>
<td></td>
</tr>
@@ -11299,23 +12273,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if data type is of fixed point type, else false. </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00683">683</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00777">777</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
<p>References <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>, and <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>.</p>
-<p>Referenced by <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00064">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="_flatten_layer_fixture_8h_source.xhtml#l00051">FlattenLayerValidationFixture< TensorType, AccessorType, FunctionType, T >::setup()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00684"></a><span class="lineno"> 684</span> {</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>  <span class="keywordflow">switch</span>(dt)</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  {</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  <span class="keywordflow">case</span> DataType::QS8:</div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  <span class="keywordflow">case</span> DataType::QS16:</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>  <span class="keywordflow">case</span> DataType::QS32:</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  }</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> }</div>
-</div><!-- fragment -->
+<p>Referenced by <a class="el" href="validation_2_c_l_2_activation_layer_8cpp_source.xhtml#l00114">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_validate_8h_source.xhtml#l00429">error_on_mismatching_fixed_point()</a>, and <a class="el" href="_flatten_layer_fixture_8h_source.xhtml#l00051">FlattenLayerValidationFixture< TensorType, AccessorType, FunctionType, T >::setup()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00778"></a><span class="lineno"> 778</span> {</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  {</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  <span class="keywordflow">case</span> DataType::QS8:</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  <span class="keywordflow">case</span> DataType::QS16:</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  <span class="keywordflow">case</span> DataType::QS32:</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  }</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="af5982a092e9eb743fce2d6392bdd8897"></a>
@@ -11328,7 +12291,7 @@
<tr>
<td class="memname">bool arm_compute::is_data_type_float </td>
<td>(</td>
- <td class="paramtype">DataType </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td>
<td class="paramname"><em>dt</em></td><td>)</td>
<td></td>
</tr>
@@ -11349,20 +12312,91 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if data type is of floating point type, else false. </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00665">665</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00737">737</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
<p>References <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>.</p>
-<div class="fragment"><div class="line"><a name="l00666"></a><span class="lineno"> 666</span> {</div>
-<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  <span class="keywordflow">switch</span>(dt)</div>
-<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>  {</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  <span class="keywordflow">case</span> DataType::F16:</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  <span class="keywordflow">case</span> DataType::F32:</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  }</div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> }</div>
-</div><!-- fragment -->
+
+<p>Referenced by <a class="el" href="validation_2fixtures_2_batch_normalization_layer_fixture_8h_source.xhtml#l00048">BatchNormalizationLayerValidationFixedPointFixture< TensorType, AccessorType, FunctionType, T >::setup()</a>, <a class="el" href="validation_2fixtures_2_activation_layer_fixture_8h_source.xhtml#l00050">ActivationValidationGenericFixture< TensorType, AccessorType, FunctionType, T >::setup()</a>, and <a class="el" href="validation_2fixtures_2_fully_connected_layer_fixture_8h_source.xhtml#l00056">FullyConnectedLayerValidationGenericFixture< TensorType, AccessorType, FunctionType, T, run_interleave >::setup()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00738"></a><span class="lineno"> 738</span> {</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  {</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  }</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span> }</div></div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a0bee325b210f81bb89fe1f9e15badf9c"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool arm_compute::is_data_type_quantized </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td>
+ <td class="paramname"><em>dt</em></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>Check if a given data type is of quantized type. </p>
+<dl class="section note"><dt>Note</dt><dd>Quantized is considered a super-set of fixed-point and asymmetric data types.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Input data type.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>True if data type is of quantized type, else false. </dd></dl>
+
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00757">757</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+
+<p>References <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6ad5695915456312560039ee411667cdbf">QS32</a>, and <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>.</p>
+
+<p>Referenced by <a class="el" href="validation_2fixtures_2_pooling_layer_fixture_8h_source.xhtml#l00050">PoolingLayerValidationGenericFixture< TensorType, AccessorType, FunctionType, T >::setup()</a>, and <a class="el" href="validation_2fixtures_2_softmax_layer_fixture_8h_source.xhtml#l00050">SoftmaxValidationGenericFixture< TensorType, AccessorType, FunctionType, T >::setup()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00758"></a><span class="lineno"> 758</span> {</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  {</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  <span class="keywordflow">case</span> DataType::QS8:</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  <span class="keywordflow">case</span> DataType::QS16:</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <span class="keywordflow">case</span> DataType::QS32:</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  }</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span> }</div></div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a14f46283f316e7f0fad301d5c1507e9f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool arm_compute::is_data_type_quantized_asymmetric </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td>
+ <td class="paramname"><em>dt</em></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>Check if a given data type is of asymmetric quantized type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>Input data type.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>True if data type is of symmetric quantized type, else false. </dd></dl>
+
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00796">796</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+
+<p>References <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>.</p>
+
+<p>Referenced by <a class="el" href="validation_2_c_l_2_convolution_layer_8cpp_source.xhtml#l00066">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_validate_8h_source.xhtml#l00494">error_on_mismatching_quantization_info()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00279">set_quantization_info_if_empty()</a>, <a class="el" href="validation_2fixtures_2_pooling_layer_fixture_8h_source.xhtml#l00050">PoolingLayerValidationGenericFixture< TensorType, AccessorType, FunctionType, T >::setup()</a>, <a class="el" href="validation_2fixtures_2_softmax_layer_fixture_8h_source.xhtml#l00050">SoftmaxValidationGenericFixture< TensorType, AccessorType, FunctionType, T >::setup()</a>, <a class="el" href="validation_2fixtures_2_activation_layer_fixture_8h_source.xhtml#l00050">ActivationValidationGenericFixture< TensorType, AccessorType, FunctionType, T >::setup()</a>, <a class="el" href="_direct_convolution_layer_fixture_8h_source.xhtml#l00051">DirectConvolutionValidationGenericFixture< TensorType, AccessorType, FunctionType, T >::setup()</a>, <a class="el" href="validation_2fixtures_2_depthwise_convolution_layer_fixture_8h_source.xhtml#l00053">DepthwiseConvolutionLayerValidationGenericFixture< TensorType, AccessorType, FunctionType, T >::setup()</a>, <a class="el" href="validation_2fixtures_2_fully_connected_layer_fixture_8h_source.xhtml#l00056">FullyConnectedLayerValidationGenericFixture< TensorType, AccessorType, FunctionType, T, run_interleave >::setup()</a>, and <a class="el" href="validation_2fixtures_2_convolution_layer_fixture_8h_source.xhtml#l00057">ConvolutionValidationGenericFixture< TensorType, AccessorType, FunctionType, T >::setup()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00797"></a><span class="lineno"> 797</span> {</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  <span class="keywordflow">switch</span>(dt)</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  {</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  }</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a532fb45c0261724a4c2e755cfd3a44e6"></a>
@@ -11388,6 +12422,8 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The lowered string </dd></dl>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00559">data_type_for_convolution_matrix()</a>.</p>
+
</div>
</div>
<a class="anchor" id="ac3f2de3a35ff8d9a47b5b793637784e7"></a>
@@ -11403,7 +12439,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DataType </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td>
<td class="paramname"><em>dt</em>, </td>
</tr>
<tr>
@@ -11438,6 +12474,8 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The maximum width of the elements. </dd></dl>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00863">max_consecutive_elements_display_width_impl()</a>.</p>
+
</div>
</div>
<a class="anchor" id="aaecee617b967dd96f27d2f36732fb68e"></a>
@@ -11481,24 +12519,12 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The maximum width of the elements. </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00743">743</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00863">863</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-<p>References <a class="el" href="hwc_8hpp_source.xhtml#l00204">mali_userspace::type</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
-<div class="fragment"><div class="line"><a name="l00744"></a><span class="lineno"> 744</span> {</div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  <span class="keyword">using</span> print_type = <span class="keyword">typename</span> <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">std::conditional<std::is_floating_point<T>::value</a>, T, <span class="keywordtype">int</span>><a class="code" href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">::type</a>;</div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> </div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  <span class="keywordtype">int</span> max_width = -1;</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < n; ++i)</div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  {</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>  std::stringstream ss;</div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>  ss.copyfmt(s);</div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>  ss << static_cast<print_type>(ptr[i]);</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  max_width = std::max<int>(max_width, ss.str().size());</div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  }</div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  <span class="keywordflow">return</span> max_width;</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> }</div>
+<p>References <a class="el" href="namespacearm__compute.xhtml#ac3f2de3a35ff8d9a47b5b793637784e7">max_consecutive_elements_display_width()</a>, <a class="el" href="namespacearm__compute.xhtml#a51a0d2ae440bc8cab3fbbe84bfea8b1d">print_consecutive_elements()</a>, <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::type</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
+<div class="fragment"><div class="line"><a name="l00864"></a><span class="lineno"> 864</span> {</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  <span class="keyword">using</span> print_type = <span class="keyword">typename</span> <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">std::conditional<std::is_floating_point<T>::value</a>, T, <span class="keywordtype">int</span>><a class="code" href="namespacecaffe__data__extractor.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">::type</a>;</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span> </div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>  <span class="keywordtype">int</span> max_width = -1;</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < n; ++i)</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>  {</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  std::stringstream ss;</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>  ss.copyfmt(s);</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span> </div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  <span class="keywordflow">if</span>(std::is_same<<span class="keyword">typename</span> <a class="code" href="namespacecaffe__data__extractor.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">std::decay<T>::type</a>, <a class="code" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a>>::<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>)</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  {</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>  <span class="comment">// We use T instead of print_type here is because the std::is_floating_point<half> returns false and then the print_type becomes int.</span></div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  ss << static_cast<T>(ptr[i]);</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  }</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  {</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  ss << static_cast<print_type>(ptr[i]);</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  }</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span> </div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  max_width = std::max<int>(max_width, ss.str().size());</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  }</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  <span class="keywordflow">return</span> max_width;</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a73e2825fd61d349c5ca2f5313e3c8ea1"><div class="ttname"><a href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">arm_compute::half</a></div><div class="ttdeci">half_float::half half</div><div class="ttdoc">16-bit floating point type </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00043">Types.h:43</a></div></div>
<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
-<div class="ttc" id="namespacemali__userspace_xhtml_ad44b615021ed3ccb734fcaf583ef4a03"><div class="ttname"><a href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">mali_userspace::type</a></div><div class="ttdeci">uint32_t type</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00204">hwc.hpp:204</a></div></div>
+<div class="ttc" id="namespacecaffe__data__extractor_xhtml_a7aead736a07eaf25623ad7bfa1f0ee2d"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">caffe_data_extractor.type</a></div><div class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -11525,6 +12551,8 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the extension is supported </dd></dl>
+<p>Referenced by <a class="el" href="_c_l_helpers_8h_source.xhtml#l00100">create_kernel()</a>.</p>
+
</div>
</div>
<a class="anchor" id="ab14153fb809c18823af3c9c8bc4286cb"></a>
@@ -11537,7 +12565,7 @@
<tr>
<td class="memname">size_t arm_compute::num_channels_from_format </td>
<td>(</td>
- <td class="paramtype">Format </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> </td>
<td class="paramname"><em>format</em></td><td>)</td>
<td></td>
</tr>
@@ -11558,41 +12586,10 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of channels for a given image format. </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00314">314</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00317">317</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
<p>References <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
-<div class="fragment"><div class="line"><a name="l00315"></a><span class="lineno"> 315</span> {</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keywordflow">switch</span>(format)</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  {</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="keywordflow">case</span> Format::U8:</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keywordflow">case</span> Format::U16:</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordflow">case</span> Format::S16:</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <span class="keywordflow">case</span> Format::U32:</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">case</span> Format::S32:</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordflow">case</span> Format::F16:</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="keywordflow">case</span> Format::F32:</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="comment">// Because the U and V channels are subsampled</span></div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="comment">// these formats appear like having only 2 channels:</span></div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">case</span> Format::YUYV422:</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="keywordflow">case</span> Format::UYVY422:</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <span class="keywordflow">return</span> 2;</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <span class="keywordflow">case</span> Format::UV88:</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keywordflow">return</span> 2;</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keywordflow">case</span> Format::RGB888:</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keywordflow">return</span> 3;</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="keywordflow">return</span> 4;</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="comment">//Doesn't make sense for planar formats:</span></div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="keywordflow">case</span> Format::NV12:</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">case</span> Format::NV21:</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="keywordflow">case</span> Format::IYUV:</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keywordflow">case</span> Format::YUV444:</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  }</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> }</div>
-</div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00318"></a><span class="lineno"> 318</span> {</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  {</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="comment">// Because the U and V channels are subsampled</span></div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <span class="comment">// these formats appear like having only 2 channels:</span></div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="comment">//Doesn't make sense for planar formats:</span></div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  }</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a2a71659def659c8b1c164023a99a25a9"></a>
@@ -11605,7 +12602,7 @@
<tr>
<td class="memname">size_t arm_compute::num_planes_from_format </td>
<td>(</td>
- <td class="paramtype">Format </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> </td>
<td class="paramname"><em>format</em></td><td>)</td>
<td></td>
</tr>
@@ -11626,36 +12623,10 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of planes for a given image format. </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00280">280</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00283">283</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
-<div class="fragment"><div class="line"><a name="l00281"></a><span class="lineno"> 281</span> {</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <span class="keywordflow">switch</span>(format)</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  {</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="keywordflow">case</span> Format::U8:</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordflow">case</span> Format::S16:</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordflow">case</span> Format::U16:</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="keywordflow">case</span> Format::S32:</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">case</span> Format::U32:</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keywordflow">case</span> Format::F16:</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordflow">case</span> Format::F32:</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordflow">case</span> Format::RGB888:</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <span class="keywordflow">case</span> Format::YUYV422:</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordflow">case</span> Format::UYVY422:</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">case</span> Format::NV12:</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keywordflow">case</span> Format::NV21:</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keywordflow">return</span> 2;</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keywordflow">case</span> Format::IYUV:</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keywordflow">case</span> Format::YUV444:</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">return</span> 3;</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported format"</span>);</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  }</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
+<div class="fragment"><div class="line"><a name="l00284"></a><span class="lineno"> 284</span> {</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  {</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported format"</span>);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  }</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -11672,10 +12643,66 @@
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="graph__alexnet_8cpp_source.xhtml#l00071">main_graph_alexnet()</a>, and <a class="el" href="graph__lenet_8cpp_source.xhtml#l00070">main_graph_lenet()</a>.</p>
+<p>Referenced by <a class="el" href="_framework_8cpp_source.xhtml#l00260">Framework::error_on_missing_assets()</a>.</p>
</div>
</div>
+<a class="anchor" id="a19c7b9bc5f36935ba40314907ffe54ce"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool arm_compute::opengles31_is_available </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Check if the OpenGL ES 3.1 API is available at runtime. </p>
+<dl class="section return"><dt>Returns</dt><dd>true if the OpenGL ES 3.1 API is available. </dd></dl>
+
+<p>Referenced by <a class="el" href="_framework_8cpp_source.xhtml#l00260">Framework::error_on_missing_assets()</a>, <a class="el" href="_open_g_l_e_s_8h_source.xhtml#l00148">NDRange::get()</a>, <a class="el" href="benchmark_2fixtures_2_softmax_layer_fixture_8h_source.xhtml#l00073">SoftmaxLayerFixture< TensorType, Function, Accessor >::run()</a>, <a class="el" href="benchmark_2fixtures_2_fully_connected_layer_fixture_8h_source.xhtml#l00078">FullyConnectedLayerFixture< TensorType, Function, Accessor >::run()</a>, <a class="el" href="benchmark_2fixtures_2_convolution_layer_fixture_8h_source.xhtml#l00078">ConvolutionLayerFixture< TensorType, Function, Accessor >::run()</a>, and <a class="el" href="benchmark_2fixtures_2_batch_normalization_layer_fixture_8h_source.xhtml#l00082">BatchNormalizationLayerFixture< TensorType, Function, Accessor >::run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4e3ff85e1f6c648dfbe264f54c147451"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool arm_compute::operator!= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>< T > & </td>
+ <td class="paramname"><em>lhs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>< T > & </td>
+ <td class="paramname"><em>rhs</em> </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>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00213">213</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordflow">return</span> !(lhs == rhs);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> }</div></div><!-- fragment -->
+</div>
+</div>
<a class="anchor" id="adfe7525e3cd542da6c043a98f93a8d3c"></a>
<div class="memitem">
<div class="memproto">
@@ -11700,14 +12727,10 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00058">58</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00059">59</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-<p>References <a class="el" href="hwc_8hpp_source.xhtml#l00204">mali_userspace::type</a>.</p>
-<div class="fragment"><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> {</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keyword">using</span> underlying_type = <span class="keyword">typename</span> <a class="code" href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">std::underlying_type<T>::type</a>;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span>T<span class="keyword">></span>(<span class="keyword">static_cast<</span>underlying_type<span class="keyword">></span>(lhs) & static_cast<underlying_type>(rhs));</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> }</div>
-<div class="ttc" id="namespacemali__userspace_xhtml_ad44b615021ed3ccb734fcaf583ef4a03"><div class="ttname"><a href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">mali_userspace::type</a></div><div class="ttdeci">uint32_t type</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00204">hwc.hpp:204</a></div></div>
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::type</a>.</p>
+<div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> {</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keyword">using</span> underlying_type = <span class="keyword">typename</span> <a class="code" href="namespacecaffe__data__extractor.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">std::underlying_type<T>::type</a>;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span>T<span class="keyword">></span>(<span class="keyword">static_cast<</span>underlying_type<span class="keyword">></span>(lhs) & static_cast<underlying_type>(rhs));</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> }</div><div class="ttc" id="namespacecaffe__data__extractor_xhtml_a7aead736a07eaf25623ad7bfa1f0ee2d"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">caffe_data_extractor.type</a></div><div class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -11724,7 +12747,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Dimensions< T > & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>< T > & </td>
<td class="paramname"><em>dimensions</em> </td>
</tr>
<tr>
@@ -11737,21 +12760,8 @@
<p>Formatted output of the <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> type. </p>
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00042">42</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> {</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">if</span>(dimensions.num_dimensions() > 0)</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  {</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  os << dimensions[0];</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> d = 1; d < dimensions.num_dimensions(); ++d)</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  {</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  os << <span class="stringliteral">"x"</span> << dimensions[d];</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  }</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  }</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordflow">return</span> os;</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> }</div>
-</div><!-- fragment -->
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00043">43</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<div class="fragment"><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> {</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keywordflow">if</span>(dimensions.num_dimensions() > 0)</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  {</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  os << dimensions[0];</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> d = 1; d < dimensions.num_dimensions(); ++d)</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  {</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  os << <span class="stringliteral">"x"</span> << dimensions[d];</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  }</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  }</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="ae8c2a3451bcf739a75aa7438e7a78d45"></a>
@@ -11767,7 +12777,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const NonLinearFilterFunction & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> & </td>
<td class="paramname"><em>function</em> </td>
</tr>
<tr>
@@ -11780,28 +12790,10 @@
<p>Formatted output of the NonLinearFilterFunction type. </p>
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00058">58</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00059">59</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a>, and <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a>.</p>
-<div class="fragment"><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> {</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keywordflow">switch</span>(<span class="keyword">function</span>)</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  {</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordflow">case</span> NonLinearFilterFunction::MAX:</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  os << <span class="stringliteral">"MAX"</span>;</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">case</span> NonLinearFilterFunction::MEDIAN:</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  os << <span class="stringliteral">"MEDIAN"</span>;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">case</span> NonLinearFilterFunction::MIN:</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  os << <span class="stringliteral">"MIN"</span>;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  }</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">return</span> os;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>, <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a8ab0c3a037e882577dec378985477074">MEDIAN</a>, and <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858ace31e2a082d17e038fcc6e3006166653">MIN</a>.</p>
+<div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> {</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">switch</span>(<span class="keyword">function</span>)</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  {</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">case</span> NonLinearFilterFunction::MAX:</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  os << <span class="stringliteral">"MAX"</span>;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordflow">case</span> NonLinearFilterFunction::MEDIAN:</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  os << <span class="stringliteral">"MEDIAN"</span>;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keywordflow">case</span> NonLinearFilterFunction::MIN:</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  os << <span class="stringliteral">"MIN"</span>;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  }</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -11818,7 +12810,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const MatrixPattern & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> & </td>
<td class="paramname"><em>pattern</em> </td>
</tr>
<tr>
@@ -11831,31 +12823,10 @@
<p>Formatted output of the MatrixPattern type. </p>
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00086">86</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00087">87</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>, <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>, <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>, and <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a>.</p>
-<div class="fragment"><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> {</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">switch</span>(pattern)</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  {</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">case</span> MatrixPattern::BOX:</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  os << <span class="stringliteral">"BOX"</span>;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">case</span> MatrixPattern::CROSS:</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  os << <span class="stringliteral">"CROSS"</span>;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordflow">case</span> MatrixPattern::DISK:</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  os << <span class="stringliteral">"DISK"</span>;</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordflow">case</span> MatrixPattern::OTHER:</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  os << <span class="stringliteral">"OTHER"</span>;</div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  }</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">return</span> os;</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02ae657cce1913c857166b0475f18668ef5">BOX</a>, <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a04dd53a8e6c2306e9bbf944c1d6047f2">CROSS</a>, <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a290d4b81f4e2b47d86fd1b0170e9aab7">DISK</a>, and <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02a03570470bad94692ce93e32700d2e1cb">OTHER</a>.</p>
+<div class="fragment"><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> {</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">switch</span>(pattern)</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">case</span> MatrixPattern::BOX:</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  os << <span class="stringliteral">"BOX"</span>;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">case</span> MatrixPattern::CROSS:</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  os << <span class="stringliteral">"CROSS"</span>;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">case</span> MatrixPattern::DISK:</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  os << <span class="stringliteral">"DISK"</span>;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">case</span> MatrixPattern::OTHER:</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  os << <span class="stringliteral">"OTHER"</span>;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  }</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -11872,7 +12843,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const RoundingPolicy & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> & </td>
<td class="paramname"><em>rounding_policy</em> </td>
</tr>
<tr>
@@ -11885,28 +12856,11 @@
<p>Formatted output of the RoundingPolicy type. </p>
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00117">117</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00118">118</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">TO_NEAREST_EVEN</a>, <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">TO_NEAREST_UP</a>, and <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06">TO_ZERO</a>.</p>
-<div class="fragment"><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> {</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">switch</span>(rounding_policy)</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  {</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordflow">case</span> RoundingPolicy::TO_ZERO:</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  os << <span class="stringliteral">"TO_ZERO"</span>;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">case</span> RoundingPolicy::TO_NEAREST_UP:</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  os << <span class="stringliteral">"TO_NEAREST_UP"</span>;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">case</span> RoundingPolicy::TO_NEAREST_EVEN:</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  os << <span class="stringliteral">"TO_NEAREST_EVEN"</span>;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  }</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keywordflow">return</span> os;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea02ff1fff1812f84c89547fcd6c176150">TO_NEAREST_EVEN</a>, <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">TO_NEAREST_UP</a>, and <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea5631ad8e27788edfca7e13535d862c06">TO_ZERO</a>.</p>
+<div class="fragment"><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> {</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a60ad1078faeaf3f59266d69ad937339f">rounding_policy</a>)</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  {</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">case</span> RoundingPolicy::TO_ZERO:</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  os << <span class="stringliteral">"TO_ZERO"</span>;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">case</span> RoundingPolicy::TO_NEAREST_UP:</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  os << <span class="stringliteral">"TO_NEAREST_UP"</span>;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordflow">case</span> RoundingPolicy::TO_NEAREST_EVEN:</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  os << <span class="stringliteral">"TO_NEAREST_EVEN"</span>;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  }</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a60ad1078faeaf3f59266d69ad937339f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a60ad1078faeaf3f59266d69ad937339f">arm_compute::test::validation::rounding_policy</a></div><div class="ttdeci">rounding_policy</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00176">PixelWiseMultiplication.cpp:176</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -11923,7 +12877,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const WeightsInfo & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_weights_info.xhtml">WeightsInfo</a> & </td>
<td class="paramname"><em>weights_info</em> </td>
</tr>
<tr>
@@ -11936,16 +12890,10 @@
<p>Formatted output of the <a class="el" href="classarm__compute_1_1_weights_info.xhtml" title="Convolution Layer Weights Information class. ">WeightsInfo</a> type. </p>
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00138">138</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00139">139</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00641">WeightsInfo::are_reshaped()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00657">WeightsInfo::kernel_size()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00649">WeightsInfo::num_kernels()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> {</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  os << weights_info.are_reshaped() << <span class="stringliteral">";"</span>;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  os << weights_info.num_kernels() << <span class="stringliteral">";"</span> << weights_info.kernel_size().first << <span class="stringliteral">","</span> << weights_info.kernel_size().second;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">return</span> os;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> }</div>
-</div><!-- fragment -->
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00791">WeightsInfo::are_reshaped()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00807">WeightsInfo::kernel_size()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00799">WeightsInfo::num_kernels()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> {</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  os << weights_info.are_reshaped() << <span class="stringliteral">";"</span>;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  os << weights_info.num_kernels() << <span class="stringliteral">";"</span> << weights_info.kernel_size().first << <span class="stringliteral">","</span> << weights_info.kernel_size().second;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a352b805b77fde4f32f44af271580677b"></a>
@@ -11961,7 +12909,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const ROIPoolingLayerInfo & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_r_o_i_pooling_layer_info.xhtml">ROIPoolingLayerInfo</a> & </td>
<td class="paramname"><em>pool_info</em> </td>
</tr>
<tr>
@@ -11974,14 +12922,42 @@
<p>Formatted output of the ROIPoolingInfo type. </p>
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00147">147</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00148">148</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00495">ROIPoolingLayerInfo::pooled_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00491">ROIPoolingLayerInfo::pooled_width()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00499">ROIPoolingLayerInfo::spatial_scale()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00148"></a><span class="lineno"> 148</span> {</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  os << pool_info.pooled_width() << <span class="stringliteral">"x"</span> << pool_info.pooled_height() << <span class="stringliteral">"~"</span> << pool_info.spatial_scale();</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">return</span> os;</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> }</div>
-</div><!-- fragment -->
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00634">ROIPoolingLayerInfo::pooled_height()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00630">ROIPoolingLayerInfo::pooled_width()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00638">ROIPoolingLayerInfo::spatial_scale()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> {</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  os << pool_info.pooled_width() << <span class="stringliteral">"x"</span> << pool_info.pooled_height() << <span class="stringliteral">"~"</span> << pool_info.spatial_scale();</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> }</div></div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a32a5556a927543fe57c0d7b82c20e9b4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">inline ::std::ostream& arm_compute::operator<< </td>
+ <td>(</td>
+ <td class="paramtype">::std::ostream & </td>
+ <td class="paramname"><em>os</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> & </td>
+ <td class="paramname"><em>quantization_info</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Formatted output of the <a class="el" href="structarm__compute_1_1_quantization_info.xhtml" title="Quantization settings (used for QASYMM8 data type) ">QuantizationInfo</a> type. </p>
+
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00155">155</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00132">QuantizationInfo::offset</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00131">QuantizationInfo::scale</a>.</p>
+<div class="fragment"><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> {</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  os << <span class="stringliteral">"Scale:"</span> << quantization_info.scale << <span class="stringliteral">"~"</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  << <span class="stringliteral">"Offset:"</span> << quantization_info.offset;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a2abb76fe917828983d666628badab08d"></a>
@@ -11997,7 +12973,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const FixedPointOp & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">FixedPointOp</a> & </td>
<td class="paramname"><em>op</em> </td>
</tr>
<tr>
@@ -12008,40 +12984,10 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00153">153</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00169">169</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca9eeb52badb613229884838847294b90d">ADD</a>, <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7">EXP</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b">INV_SQRT</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3">LOG</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca2cdf52a55876063ec93b7d18bc741f6c">MUL</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1">RECIPROCAL</a>, and <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca241dd841abade20fcb27b8a9f494e1eb">SUB</a>.</p>
-<div class="fragment"><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> {</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">switch</span>(op)</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  {</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordflow">case</span> <a class="code" href="arithmetic__op_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">FixedPointOp::ADD</a>:</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  os << <span class="stringliteral">"ADD"</span>;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordflow">case</span> <a class="code" href="arithmetic__op_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">FixedPointOp::SUB</a>:</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  os << <span class="stringliteral">"SUB"</span>;</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keywordflow">case</span> FixedPointOp::MUL:</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  os << <span class="stringliteral">"MUL"</span>;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordflow">case</span> FixedPointOp::EXP:</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  os << <span class="stringliteral">"EXP"</span>;</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordflow">case</span> FixedPointOp::LOG:</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  os << <span class="stringliteral">"LOG"</span>;</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keywordflow">case</span> FixedPointOp::INV_SQRT:</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  os << <span class="stringliteral">"INV_SQRT"</span>;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordflow">case</span> FixedPointOp::RECIPROCAL:</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  os << <span class="stringliteral">"RECIPROCAL"</span>;</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  }</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keywordflow">return</span> os;</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
+<p>References <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca9eeb52badb613229884838847294b90d">ADD</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca8c670f8c37b95e1ed14a0ce414b049c7">EXP</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca59c58364795af22cad54630be156712b">INV_SQRT</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4b5ffcdaf38ce4d463171f5c977c5ab3">LOG</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca2cdf52a55876063ec93b7d18bc741f6c">MUL</a>, <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca4d98346f3d5cc5fa5666f0715abf25b1">RECIPROCAL</a>, and <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dca241dd841abade20fcb27b8a9f494e1eb">SUB</a>.</p>
+<div class="fragment"><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> {</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">switch</span>(op)</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  {</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordflow">case</span> <a class="code" href="arithmetic__op_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">FixedPointOp::ADD</a>:</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  os << <span class="stringliteral">"ADD"</span>;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keywordflow">case</span> <a class="code" href="arithmetic__op_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">FixedPointOp::SUB</a>:</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  os << <span class="stringliteral">"SUB"</span>;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordflow">case</span> FixedPointOp::MUL:</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  os << <span class="stringliteral">"MUL"</span>;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keywordflow">case</span> FixedPointOp::EXP:</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  os << <span class="stringliteral">"EXP"</span>;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordflow">case</span> FixedPointOp::LOG:</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  os << <span class="stringliteral">"LOG"</span>;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordflow">case</span> FixedPointOp::INV_SQRT:</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  os << <span class="stringliteral">"INV_SQRT"</span>;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keywordflow">case</span> FixedPointOp::RECIPROCAL:</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  os << <span class="stringliteral">"RECIPROCAL"</span>;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  }</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
<div class="ttc" id="arithmetic__op_8cl_xhtml_af3b709fb668cf93ca09e2a46a2a031a8"><div class="ttname"><a href="arithmetic__op_8cl.xhtml#af3b709fb668cf93ca09e2a46a2a031a8">ADD</a></div><div class="ttdeci">#define ADD(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="arithmetic__op_8cl_source.xhtml#l00034">arithmetic_op.cl:34</a></div></div>
<div class="ttc" id="arithmetic__op_8cl_xhtml_aafc2c4f262a0686c07f86c7d2e1d8d14"><div class="ttname"><a href="arithmetic__op_8cl.xhtml#aafc2c4f262a0686c07f86c7d2e1d8d14">SUB</a></div><div class="ttdeci">#define SUB(x, y)</div><div class="ttdef"><b>Definition:</b> <a href="arithmetic__op_8cl_source.xhtml#l00035">arithmetic_op.cl:35</a></div></div>
</div><!-- fragment -->
@@ -12060,7 +13006,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const ActivationLayerInfo::ActivationFunction & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9ea">ActivationLayerInfo::ActivationFunction</a> & </td>
<td class="paramname"><em>act_function</em> </td>
</tr>
<tr>
@@ -12073,51 +13019,10 @@
<p>Formatted output of the activation function type. </p>
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00193">193</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00209">209</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa7d8a220d2262f9d6c658d549ee12cf2c">ActivationLayerInfo::ABS</a>, <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaacc516ab03b98f1c908ddf6ed4a7c45e9">ActivationLayerInfo::BOUNDED_RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaac7e80a3de04936f4e423e1b564fdca10">ActivationLayerInfo::LEAKY_RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaaaac544aacc3615aada24897a215f5046">ActivationLayerInfo::LINEAR</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa72ee60fba0509af07cbbd91398d8db9d">ActivationLayerInfo::LOGISTIC</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaaab1d4411a9e7f5e82002512cddfdc33a">ActivationLayerInfo::LU_BOUNDED_RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaad346bb4679d29be241279f15d7795c1c">ActivationLayerInfo::RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaadcc44a50c791a591c74e00ecdda7c58d">ActivationLayerInfo::SOFT_RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa36875f2500a09ee35d0bb7eb8c0b91b0">ActivationLayerInfo::SQRT</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa12dec4e1f7ec620651b2b95c440ffac0">ActivationLayerInfo::SQUARE</a>, and <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa143c8c6f51b9bb893ce71e38702e3cc1">ActivationLayerInfo::TANH</a>.</p>
-<div class="fragment"><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> {</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="keywordflow">switch</span>(act_function)</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  {</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::ABS:</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  os << <span class="stringliteral">"ABS"</span>;</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LINEAR:</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  os << <span class="stringliteral">"LINEAR"</span>;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LOGISTIC:</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  os << <span class="stringliteral">"LOGISTIC"</span>;</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::RELU:</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  os << <span class="stringliteral">"RELU"</span>;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::BOUNDED_RELU:</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  os << <span class="stringliteral">"BOUNDED_RELU"</span>;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LEAKY_RELU:</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  os << <span class="stringliteral">"LEAKY_RELU"</span>;</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SOFT_RELU:</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  os << <span class="stringliteral">"SOFT_RELU"</span>;</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQRT:</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  os << <span class="stringliteral">"SQRT"</span>;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LU_BOUNDED_RELU:</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  os << <span class="stringliteral">"LU_BOUNDED_RELU"</span>;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQUARE:</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  os << <span class="stringliteral">"SQUARE"</span>;</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::TANH:</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  os << <span class="stringliteral">"TANH"</span>;</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  }</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordflow">return</span> os;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
+<p>References <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa7d8a220d2262f9d6c658d549ee12cf2c">ActivationLayerInfo::ABS</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaacc516ab03b98f1c908ddf6ed4a7c45e9">ActivationLayerInfo::BOUNDED_RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaac7e80a3de04936f4e423e1b564fdca10">ActivationLayerInfo::LEAKY_RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaaaac544aacc3615aada24897a215f5046">ActivationLayerInfo::LINEAR</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa72ee60fba0509af07cbbd91398d8db9d">ActivationLayerInfo::LOGISTIC</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaaab1d4411a9e7f5e82002512cddfdc33a">ActivationLayerInfo::LU_BOUNDED_RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaad346bb4679d29be241279f15d7795c1c">ActivationLayerInfo::RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaadcc44a50c791a591c74e00ecdda7c58d">ActivationLayerInfo::SOFT_RELU</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa36875f2500a09ee35d0bb7eb8c0b91b0">ActivationLayerInfo::SQRT</a>, <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa12dec4e1f7ec620651b2b95c440ffac0">ActivationLayerInfo::SQUARE</a>, and <a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9eaa143c8c6f51b9bb893ce71e38702e3cc1">ActivationLayerInfo::TANH</a>.</p>
+<div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordflow">switch</span>(act_function)</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  {</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::ABS:</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  os << <span class="stringliteral">"ABS"</span>;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LINEAR:</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  os << <span class="stringliteral">"LINEAR"</span>;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LOGISTIC:</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  os << <span class="stringliteral">"LOGISTIC"</span>;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::RELU:</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  os << <span class="stringliteral">"RELU"</span>;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::BOUNDED_RELU:</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  os << <span class="stringliteral">"BOUNDED_RELU"</span>;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LEAKY_RELU:</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  os << <span class="stringliteral">"LEAKY_RELU"</span>;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SOFT_RELU:</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  os << <span class="stringliteral">"SOFT_RELU"</span>;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQRT:</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  os << <span class="stringliteral">"SQRT"</span>;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::LU_BOUNDED_RELU:</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  os << <span class="stringliteral">"LU_BOUNDED_RELU"</span>;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::SQUARE:</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  os << <span class="stringliteral">"SQUARE"</span>;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordflow">case</span> ActivationLayerInfo::ActivationFunction::TANH:</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  os << <span class="stringliteral">"TANH"</span>;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  }</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -12134,7 +13039,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const NormType & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> & </td>
<td class="paramname"><em>norm_type</em> </td>
</tr>
<tr>
@@ -12147,28 +13052,10 @@
<p>Formatted output of the NormType type. </p>
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00251">251</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00268">268</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a>, <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">IN_MAP_1D</a>, and <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>.</p>
-<div class="fragment"><div class="line"><a name="l00252"></a><span class="lineno"> 252</span> {</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keywordflow">switch</span>(norm_type)</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  {</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordflow">case</span> NormType::CROSS_MAP:</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  os << <span class="stringliteral">"CROSS_MAP"</span>;</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordflow">case</span> NormType::IN_MAP_1D:</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  os << <span class="stringliteral">"IN_MAP_1D"</span>;</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordflow">case</span> NormType::IN_MAP_2D:</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  os << <span class="stringliteral">"IN_MAP_2D"</span>;</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  }</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">return</span> os;</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa980fef040549733973683b1a868f96e5">CROSS_MAP</a>, <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caaca2475ab7883ebb9f125241141896190">IN_MAP_1D</a>, and <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59caa6ff8bd96743aae9fd283cd822b84278e">IN_MAP_2D</a>.</p>
+<div class="fragment"><div class="line"><a name="l00269"></a><span class="lineno"> 269</span> {</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="keywordflow">switch</span>(norm_type)</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  {</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordflow">case</span> NormType::CROSS_MAP:</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  os << <span class="stringliteral">"CROSS_MAP"</span>;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <span class="keywordflow">case</span> NormType::IN_MAP_1D:</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  os << <span class="stringliteral">"IN_MAP_1D"</span>;</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keywordflow">case</span> NormType::IN_MAP_2D:</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  os << <span class="stringliteral">"IN_MAP_2D"</span>;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  }</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -12185,7 +13072,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const NormalizationLayerInfo & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a> & </td>
<td class="paramname"><em>info</em> </td>
</tr>
<tr>
@@ -12198,14 +13085,10 @@
<p>Formatted output of <a class="el" href="classarm__compute_1_1_normalization_layer_info.xhtml">NormalizationLayerInfo</a>. </p>
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00279">279</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00296">296</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00576">NormalizationLayerInfo::type()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00280"></a><span class="lineno"> 280</span> {</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  os << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.type();</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <span class="keywordflow">return</span> os;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> }</div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -> set_format(Format::S16)</div></div>
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00717">NormalizationLayerInfo::type()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00297"></a><span class="lineno"> 297</span> {</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  os << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.type();</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -> set_format(Format::S16)</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -12222,7 +13105,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const PoolingType & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> & </td>
<td class="paramname"><em>pool_type</em> </td>
</tr>
<tr>
@@ -12235,28 +13118,10 @@
<p>Formatted output of the PoolingType type. </p>
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00286">286</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00303">303</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>, <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a>, and <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>.</p>
-<div class="fragment"><div class="line"><a name="l00287"></a><span class="lineno"> 287</span> {</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">switch</span>(pool_type)</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  {</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordflow">case</span> PoolingType::AVG:</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  os << <span class="stringliteral">"AVG"</span>;</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <span class="keywordflow">case</span> PoolingType::MAX:</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  os << <span class="stringliteral">"MAX"</span>;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">case</span> PoolingType::L2:</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  os << <span class="stringliteral">"L2"</span>;</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  }</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">return</span> os;</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93afcefd647d6a866603c627b11347c707a">AVG</a>, <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93a7e6aa2d53f6ee2b1a34b017fa403cb76">L2</a>, and <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858a26a4b44a837bf97b972628509912b4a5">MAX</a>.</p>
+<div class="fragment"><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> {</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordflow">switch</span>(pool_type)</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  {</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keywordflow">case</span> PoolingType::AVG:</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  os << <span class="stringliteral">"AVG"</span>;</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <span class="keywordflow">case</span> PoolingType::MAX:</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  os << <span class="stringliteral">"MAX"</span>;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="keywordflow">case</span> PoolingType::L2:</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  os << <span class="stringliteral">"L2"</span>;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  }</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span> </div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -12273,7 +13138,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const PoolingLayerInfo & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_pooling_layer_info.xhtml">PoolingLayerInfo</a> & </td>
<td class="paramname"><em>info</em> </td>
</tr>
<tr>
@@ -12286,15 +13151,10 @@
<p>Formatted output of <a class="el" href="classarm__compute_1_1_pooling_layer_info.xhtml">PoolingLayerInfo</a>. </p>
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00307">307</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00324">324</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00458">PoolingLayerInfo::pool_type()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00308"></a><span class="lineno"> 308</span> {</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  os << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pool_type();</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="keywordflow">return</span> os;</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> }</div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -> set_format(Format::S16)</div></div>
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00587">PoolingLayerInfo::pool_type()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00325"></a><span class="lineno"> 325</span> {</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  os << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pool_type();</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -> set_format(Format::S16)</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -12311,7 +13171,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const DataType & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> & </td>
<td class="paramname"><em>data_type</em> </td>
</tr>
<tr>
@@ -12324,64 +13184,10 @@
<p>Formatted output of the DataType type. </p>
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00315">315</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00339">339</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
-<div class="fragment"><div class="line"><a name="l00316"></a><span class="lineno"> 316</span> {</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>)</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  {</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keywordflow">case</span> DataType::UNKNOWN:</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  os << <span class="stringliteral">"UNKNOWN"</span>;</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">case</span> DataType::U8:</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  os << <span class="stringliteral">"U8"</span>;</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keywordflow">case</span> DataType::QS8:</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  os << <span class="stringliteral">"QS8"</span>;</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">case</span> DataType::S8:</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  os << <span class="stringliteral">"S8"</span>;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <span class="keywordflow">case</span> DataType::U16:</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  os << <span class="stringliteral">"U16"</span>;</div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keywordflow">case</span> DataType::S16:</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  os << <span class="stringliteral">"S16"</span>;</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keywordflow">case</span> DataType::QS16:</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  os << <span class="stringliteral">"QS16"</span>;</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="keywordflow">case</span> DataType::U32:</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  os << <span class="stringliteral">"U32"</span>;</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordflow">case</span> DataType::S32:</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  os << <span class="stringliteral">"S32"</span>;</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordflow">case</span> DataType::U64:</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  os << <span class="stringliteral">"U64"</span>;</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keywordflow">case</span> DataType::S64:</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  os << <span class="stringliteral">"S64"</span>;</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <span class="keywordflow">case</span> DataType::F16:</div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  os << <span class="stringliteral">"F16"</span>;</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <span class="keywordflow">case</span> DataType::F32:</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  os << <span class="stringliteral">"F32"</span>;</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keywordflow">case</span> DataType::F64:</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  os << <span class="stringliteral">"F64"</span>;</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <span class="keywordflow">case</span> DataType::SIZET:</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  os << <span class="stringliteral">"SIZET"</span>;</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  }</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keywordflow">return</span> os;</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a1ad5f6f3069070ec4cbbdc94d5e61e0e">F64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6af14462d71aa842202c3e4b272c7ec924">QASYMM8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a115dca124dc6423c7a400b8a8a0270cc">S64</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6aafb0fced528eaac5fe170b763cda5975">S8</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6abd7ef6d4f35bc7d05c559b65032f15d1">SIZET</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a31d65cccd6593e4101db93fb878abcaa">U64</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
+<div class="fragment"><div class="line"><a name="l00340"></a><span class="lineno"> 340</span> {</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keywordflow">switch</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>)</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  {</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordflow">case</span> DataType::UNKNOWN:</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  os << <span class="stringliteral">"UNKNOWN"</span>;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordflow">case</span> DataType::U8:</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  os << <span class="stringliteral">"U8"</span>;</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keywordflow">case</span> DataType::QS8:</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  os << <span class="stringliteral">"QS8"</span>;</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <span class="keywordflow">case</span> DataType::QASYMM8:</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  os << <span class="stringliteral">"QASYMM8"</span>;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <span class="keywordflow">case</span> DataType::S8:</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  os << <span class="stringliteral">"S8"</span>;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keywordflow">case</span> DataType::U16:</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  os << <span class="stringliteral">"U16"</span>;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <span class="keywordflow">case</span> DataType::S16:</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  os << <span class="stringliteral">"S16"</span>;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keywordflow">case</span> DataType::QS16:</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  os << <span class="stringliteral">"QS16"</span>;</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <span class="keywordflow">case</span> DataType::U32:</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  os << <span class="stringliteral">"U32"</span>;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keywordflow">case</span> DataType::S32:</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  os << <span class="stringliteral">"S32"</span>;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keywordflow">case</span> DataType::U64:</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  os << <span class="stringliteral">"U64"</span>;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">case</span> DataType::S64:</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  os << <span class="stringliteral">"S64"</span>;</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="keywordflow">case</span> DataType::F16:</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  os << <span class="stringliteral">"F16"</span>;</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="keywordflow">case</span> DataType::F32:</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  os << <span class="stringliteral">"F32"</span>;</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keywordflow">case</span> DataType::F64:</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  os << <span class="stringliteral">"F64"</span>;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <span class="keywordflow">case</span> DataType::SIZET:</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  os << <span class="stringliteral">"SIZET"</span>;</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  }</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00090">MinMaxLocation.cpp:90</a></div></div>
</div><!-- fragment -->
</div>
@@ -12399,7 +13205,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Format & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> & </td>
<td class="paramname"><em>format</em> </td>
</tr>
<tr>
@@ -12412,70 +13218,10 @@
<p>Formatted output of the Format type. </p>
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00379">379</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00406">406</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
-<div class="fragment"><div class="line"><a name="l00380"></a><span class="lineno"> 380</span> {</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">switch</span>(format)</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  {</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="keywordflow">case</span> Format::UNKNOWN:</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  os << <span class="stringliteral">"UNKNOWN"</span>;</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keywordflow">case</span> Format::U8:</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  os << <span class="stringliteral">"U8"</span>;</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <span class="keywordflow">case</span> Format::S16:</div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  os << <span class="stringliteral">"S16"</span>;</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keywordflow">case</span> Format::U16:</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  os << <span class="stringliteral">"U16"</span>;</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <span class="keywordflow">case</span> Format::S32:</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  os << <span class="stringliteral">"S32"</span>;</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <span class="keywordflow">case</span> Format::U32:</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  os << <span class="stringliteral">"U32"</span>;</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <span class="keywordflow">case</span> Format::F16:</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  os << <span class="stringliteral">"F16"</span>;</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  <span class="keywordflow">case</span> Format::F32:</div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  os << <span class="stringliteral">"F32"</span>;</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  <span class="keywordflow">case</span> Format::UV88:</div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  os << <span class="stringliteral">"UV88"</span>;</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <span class="keywordflow">case</span> Format::RGB888:</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  os << <span class="stringliteral">"RGB888"</span>;</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  os << <span class="stringliteral">"RGBA8888"</span>;</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <span class="keywordflow">case</span> Format::YUV444:</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  os << <span class="stringliteral">"YUV444"</span>;</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <span class="keywordflow">case</span> Format::YUYV422:</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  os << <span class="stringliteral">"YUYV422"</span>;</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <span class="keywordflow">case</span> Format::NV12:</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  os << <span class="stringliteral">"NV12"</span>;</div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <span class="keywordflow">case</span> Format::NV21:</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  os << <span class="stringliteral">"NV21"</span>;</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  <span class="keywordflow">case</span> Format::IYUV:</div>
-<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  os << <span class="stringliteral">"IYUV"</span>;</div>
-<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  <span class="keywordflow">case</span> Format::UYVY422:</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  os << <span class="stringliteral">"UYVY422"</span>;</div>
-<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  }</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> </div>
-<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <span class="keywordflow">return</span> os;</div>
-<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
+<div class="fragment"><div class="line"><a name="l00407"></a><span class="lineno"> 407</span> {</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  {</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <span class="keywordflow">case</span> Format::UNKNOWN:</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  os << <span class="stringliteral">"UNKNOWN"</span>;</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  os << <span class="stringliteral">"U8"</span>;</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  os << <span class="stringliteral">"S16"</span>;</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  os << <span class="stringliteral">"U16"</span>;</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  os << <span class="stringliteral">"S32"</span>;</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  os << <span class="stringliteral">"U32"</span>;</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  os << <span class="stringliteral">"F16"</span>;</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  os << <span class="stringliteral">"F32"</span>;</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  os << <span class="stringliteral">"UV88"</span>;</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  os << <span class="stringliteral">"RGB888"</span>;</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  os << <span class="stringliteral">"RGBA8888"</span>;</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  os << <span class="stringliteral">"YUV444"</span>;</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  os << <span class="stringliteral">"YUYV422"</span>;</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  os << <span class="stringliteral">"NV12"</span>;</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  os << <span class="stringliteral">"NV21"</span>;</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  os << <span class="stringliteral">"IYUV"</span>;</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  os << <span class="stringliteral">"UYVY422"</span>;</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  }</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span> </div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -12492,7 +13238,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Channel & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> & </td>
<td class="paramname"><em>channel</em> </td>
</tr>
<tr>
@@ -12505,55 +13251,10 @@
<p>Formatted output of the Channel type. </p>
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00449">449</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00476">476</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>.</p>
-<div class="fragment"><div class="line"><a name="l00450"></a><span class="lineno"> 450</span> {</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="keywordflow">switch</span>(channel)</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  {</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  <span class="keywordflow">case</span> Channel::UNKNOWN:</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  os << <span class="stringliteral">"UNKNOWN"</span>;</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  <span class="keywordflow">case</span> Channel::C0:</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  os << <span class="stringliteral">"C0"</span>;</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <span class="keywordflow">case</span> Channel::C1:</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  os << <span class="stringliteral">"C1"</span>;</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  <span class="keywordflow">case</span> Channel::C2:</div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  os << <span class="stringliteral">"C2"</span>;</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <span class="keywordflow">case</span> Channel::C3:</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  os << <span class="stringliteral">"C3"</span>;</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <span class="keywordflow">case</span> Channel::R:</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  os << <span class="stringliteral">"R"</span>;</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <span class="keywordflow">case</span> Channel::G:</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  os << <span class="stringliteral">"G"</span>;</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  <span class="keywordflow">case</span> Channel::B:</div>
-<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  os << <span class="stringliteral">"B"</span>;</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  <span class="keywordflow">case</span> Channel::A:</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  os << <span class="stringliteral">"A"</span>;</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <span class="keywordflow">case</span> Channel::Y:</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  os << <span class="stringliteral">"Y"</span>;</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <span class="keywordflow">case</span> Channel::U:</div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  os << <span class="stringliteral">"U"</span>;</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <span class="keywordflow">case</span> Channel::V:</div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  os << <span class="stringliteral">"V"</span>;</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  }</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> </div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <span class="keywordflow">return</span> os;</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
+<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9c5959e6f08f10d0edbadf5be1f33c53">C0</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa1a2ddc2db4693cfd16d534cde5572cc1">C1</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aaf1a543f5a2c5d49bc5dde298fcf716e4">C2</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa3abe124ecc82bf2c2e22e6058f38c50c">C3</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aadfcf28d0734569a6a693bc8194de62bf">G</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aae1e1d3d40573127e9ee0480caf1283d6">R</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>.</p>
+<div class="fragment"><div class="line"><a name="l00477"></a><span class="lineno"> 477</span> {</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  {</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <span class="keywordflow">case</span> Channel::UNKNOWN:</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  os << <span class="stringliteral">"UNKNOWN"</span>;</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <span class="keywordflow">case</span> Channel::C0:</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  os << <span class="stringliteral">"C0"</span>;</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <span class="keywordflow">case</span> Channel::C1:</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  os << <span class="stringliteral">"C1"</span>;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  <span class="keywordflow">case</span> Channel::C2:</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  os << <span class="stringliteral">"C2"</span>;</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  <span class="keywordflow">case</span> Channel::C3:</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  os << <span class="stringliteral">"C3"</span>;</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <span class="keywordflow">case</span> Channel::R:</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  os << <span class="stringliteral">"R"</span>;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <span class="keywordflow">case</span> Channel::G:</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  os << <span class="stringliteral">"G"</span>;</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <span class="keywordflow">case</span> Channel::B:</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  os << <span class="stringliteral">"B"</span>;</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <span class="keywordflow">case</span> Channel::A:</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  os << <span class="stringliteral">"A"</span>;</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  os << <span class="stringliteral">"Y"</span>;</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  os << <span class="stringliteral">"U"</span>;</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  os << <span class="stringliteral">"V"</span>;</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  }</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span> </div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -12570,7 +13271,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const BorderMode & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> & </td>
<td class="paramname"><em>mode</em> </td>
</tr>
<tr>
@@ -12583,28 +13284,10 @@
<p>Formatted output of the BorderMode type. </p>
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00497">497</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00524">524</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>, and <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>.</p>
-<div class="fragment"><div class="line"><a name="l00498"></a><span class="lineno"> 498</span> {</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  <span class="keywordflow">switch</span>(mode)</div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  {</div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <span class="keywordflow">case</span> BorderMode::UNDEFINED:</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  os << <span class="stringliteral">"UNDEFINED"</span>;</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <span class="keywordflow">case</span> BorderMode::CONSTANT:</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  os << <span class="stringliteral">"CONSTANT"</span>;</div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <span class="keywordflow">case</span> BorderMode::REPLICATE:</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  os << <span class="stringliteral">"REPLICATE"</span>;</div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  }</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> </div>
-<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  <span class="keywordflow">return</span> os;</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>, and <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>.</p>
+<div class="fragment"><div class="line"><a name="l00525"></a><span class="lineno"> 525</span> {</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <span class="keywordflow">switch</span>(mode)</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  {</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <span class="keywordflow">case</span> BorderMode::UNDEFINED:</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  os << <span class="stringliteral">"UNDEFINED"</span>;</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  <span class="keywordflow">case</span> BorderMode::CONSTANT:</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  os << <span class="stringliteral">"CONSTANT"</span>;</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  <span class="keywordflow">case</span> BorderMode::REPLICATE:</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  os << <span class="stringliteral">"REPLICATE"</span>;</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  }</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span> </div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -12621,7 +13304,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const BorderSize & </td>
+ <td class="paramtype">const <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> & </td>
<td class="paramname"><em>border</em> </td>
</tr>
<tr>
@@ -12634,18 +13317,10 @@
<p>Formatted output of the <a class="el" href="structarm__compute_1_1_border_size.xhtml" title="Container for 2D border size. ">BorderSize</a> type. </p>
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00518">518</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00545">545</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00202">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00203">BorderSize::left</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00201">BorderSize::right</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00200">BorderSize::top</a>.</p>
-<div class="fragment"><div class="line"><a name="l00519"></a><span class="lineno"> 519</span> {</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  os << border.top << <span class="stringliteral">","</span></div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  << border.right << <span class="stringliteral">","</span></div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  << border.bottom << <span class="stringliteral">","</span></div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  << border.left;</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> </div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <span class="keywordflow">return</span> os;</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> }</div>
-</div><!-- fragment -->
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00264">BorderSize::bottom</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00265">BorderSize::left</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00263">BorderSize::right</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00262">BorderSize::top</a>.</p>
+<div class="fragment"><div class="line"><a name="l00546"></a><span class="lineno"> 546</span> {</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  os << border.top << <span class="stringliteral">","</span></div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  << border.right << <span class="stringliteral">","</span></div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  << border.bottom << <span class="stringliteral">","</span></div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  << border.left;</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span> </div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a509047aefc691398f1bb60b1f967a98b"></a>
@@ -12661,7 +13336,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const InterpolationPolicy & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> & </td>
<td class="paramname"><em>policy</em> </td>
</tr>
<tr>
@@ -12674,28 +13349,43 @@
<p>Formatted output of the InterpolationPolicy type. </p>
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00529">529</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00556">556</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, and <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>.</p>
-<div class="fragment"><div class="line"><a name="l00530"></a><span class="lineno"> 530</span> {</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  <span class="keywordflow">switch</span>(policy)</div>
-<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  {</div>
-<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  <span class="keywordflow">case</span> InterpolationPolicy::NEAREST_NEIGHBOR:</div>
-<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  os << <span class="stringliteral">"NEAREST_NEIGHBOR"</span>;</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  <span class="keywordflow">case</span> InterpolationPolicy::BILINEAR:</div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  os << <span class="stringliteral">"BILINEAR"</span>;</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  <span class="keywordflow">case</span> InterpolationPolicy::AREA:</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  os << <span class="stringliteral">"AREA"</span>;</div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  }</div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> </div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  <span class="keywordflow">return</span> os;</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
+<p>References <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a639aaa22a784d5e5cb03a522267e79c4">AREA</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9aad6fddf718ad19b063e02fdd7e8e3e65">BILINEAR</a>, and <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9a7f5ccbc3d30c2cd3fd04d567946cbde2">NEAREST_NEIGHBOR</a>.</p>
+<div class="fragment"><div class="line"><a name="l00557"></a><span class="lineno"> 557</span> {</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  <span class="keywordflow">switch</span>(policy)</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  {</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  <span class="keywordflow">case</span> InterpolationPolicy::NEAREST_NEIGHBOR:</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  os << <span class="stringliteral">"NEAREST_NEIGHBOR"</span>;</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  <span class="keywordflow">case</span> InterpolationPolicy::BILINEAR:</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  os << <span class="stringliteral">"BILINEAR"</span>;</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  <span class="keywordflow">case</span> InterpolationPolicy::AREA:</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  os << <span class="stringliteral">"AREA"</span>;</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  }</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span> </div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="aab8eb6dc1ba89bb8a69f1c3845988a2b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">inline ::std::ostream& arm_compute::operator<< </td>
+ <td>(</td>
+ <td class="paramtype">::std::ostream & </td>
+ <td class="paramname"><em>os</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">SamplingPolicy</a> & </td>
+ <td class="paramname"><em>policy</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Formatted output of the SamplingPolicy type. </p>
+
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00577">577</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7bac397289ee45877be0cd49811fe245b4e">CENTER</a>, and <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7ba747385047b85ae751f83adb36435a3c1">TOP_LEFT</a>.</p>
+<div class="fragment"><div class="line"><a name="l00578"></a><span class="lineno"> 578</span> {</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  <span class="keywordflow">switch</span>(policy)</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  {</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  <span class="keywordflow">case</span> SamplingPolicy::CENTER:</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>  os << <span class="stringliteral">"CENTER"</span>;</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  <span class="keywordflow">case</span> SamplingPolicy::TOP_LEFT:</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  os << <span class="stringliteral">"TOP_LEFT"</span>;</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  }</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span> </div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -12712,7 +13402,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const Rectangle & </td>
+ <td class="paramtype">const <a class="el" href="structarm__compute_1_1_rectangle.xhtml">Rectangle</a> & </td>
<td class="paramname"><em>rect</em> </td>
</tr>
<tr>
@@ -12725,16 +13415,10 @@
<p>Formatted output of the <a class="el" href="structarm__compute_1_1_rectangle.xhtml" title="Rectangle type. ">Rectangle</a> type. </p>
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00581">581</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00637">637</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00290">Rectangle::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00289">Rectangle::width</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00287">Rectangle::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00288">Rectangle::y</a>.</p>
-<div class="fragment"><div class="line"><a name="l00582"></a><span class="lineno"> 582</span> {</div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  os << rect.width << <span class="stringliteral">"x"</span> << rect.height;</div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  os << <span class="stringliteral">"+"</span> << rect.x << <span class="stringliteral">"+"</span> << rect.y;</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> </div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  <span class="keywordflow">return</span> os;</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> }</div>
-</div><!-- fragment -->
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00344">Rectangle::height</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00343">Rectangle::width</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00341">Rectangle::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00342">Rectangle::y</a>.</p>
+<div class="fragment"><div class="line"><a name="l00638"></a><span class="lineno"> 638</span> {</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  os << rect.width << <span class="stringliteral">"x"</span> << rect.height;</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  os << <span class="stringliteral">"+"</span> << rect.x << <span class="stringliteral">"+"</span> << rect.y;</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span> </div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a8af36ae3a3613112c3a95e57f606359a"></a>
@@ -12750,7 +13434,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const PadStrideInfo & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> & </td>
<td class="paramname"><em>pad_stride_info</em> </td>
</tr>
<tr>
@@ -12763,17 +13447,10 @@
<p>Formatted output of the PadStridInfo type. </p>
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00590">590</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00646">646</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00429">PadStrideInfo::pad()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00425">PadStrideInfo::stride()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00591"></a><span class="lineno"> 591</span> {</div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  os << pad_stride_info.stride().first << <span class="stringliteral">","</span> << pad_stride_info.stride().second;</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  os << <span class="stringliteral">";"</span>;</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  os << pad_stride_info.pad().first << <span class="stringliteral">","</span> << pad_stride_info.pad().second;</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> </div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>  <span class="keywordflow">return</span> os;</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> }</div>
-</div><!-- fragment -->
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00527">PadStrideInfo::pad_bottom()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00515">PadStrideInfo::pad_left()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00519">PadStrideInfo::pad_right()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00523">PadStrideInfo::pad_top()</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00504">PadStrideInfo::stride()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00647"></a><span class="lineno"> 647</span> {</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  os << pad_stride_info.stride().first << <span class="stringliteral">","</span> << pad_stride_info.stride().second;</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  os << <span class="stringliteral">";"</span>;</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  os << pad_stride_info.pad_left() << <span class="stringliteral">","</span> << pad_stride_info.pad_right() << <span class="stringliteral">","</span></div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  << pad_stride_info.pad_top() << <span class="stringliteral">","</span> << pad_stride_info.pad_bottom();</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span> </div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a4287c6842a60e5f6bf309e55f8813527"></a>
@@ -12789,7 +13466,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const ConvertPolicy & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a> & </td>
<td class="paramname"><em>policy</em> </td>
</tr>
<tr>
@@ -12802,25 +13479,10 @@
<p>Formatted output of the ConversionPolicy type. </p>
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00628">628</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00692">692</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a>, and <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>.</p>
-<div class="fragment"><div class="line"><a name="l00629"></a><span class="lineno"> 629</span> {</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span>  <span class="keywordflow">switch</span>(policy)</div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>  {</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>  <span class="keywordflow">case</span> ConvertPolicy::WRAP:</div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>  os << <span class="stringliteral">"WRAP"</span>;</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  <span class="keywordflow">case</span> ConvertPolicy::SATURATE:</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  os << <span class="stringliteral">"SATURATE"</span>;</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  }</div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> </div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  <span class="keywordflow">return</span> os;</div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fa4729d95f983955f0d93a30179deb2b86">SATURATE</a>, and <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6fae1c8555fcf0ea2bb648a6fd527d658c0">WRAP</a>.</p>
+<div class="fragment"><div class="line"><a name="l00693"></a><span class="lineno"> 693</span> {</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  <span class="keywordflow">switch</span>(policy)</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  {</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  <span class="keywordflow">case</span> ConvertPolicy::WRAP:</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  os << <span class="stringliteral">"WRAP"</span>;</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  <span class="keywordflow">case</span> ConvertPolicy::SATURATE:</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  os << <span class="stringliteral">"SATURATE"</span>;</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  }</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span> </div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -12837,7 +13499,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const ReductionOperation & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">ReductionOperation</a> & </td>
<td class="paramname"><em>op</em> </td>
</tr>
<tr>
@@ -12850,22 +13512,10 @@
<p>Formatted output of the Reduction Operations. </p>
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00653">653</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00717">717</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, and <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>.</p>
-<div class="fragment"><div class="line"><a name="l00654"></a><span class="lineno"> 654</span> {</div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  <span class="keywordflow">switch</span>(op)</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  {</div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  <span class="keywordflow">case</span> ReductionOperation::SUM_SQUARE:</div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  os << <span class="stringliteral">"SUM_SQUARE"</span>;</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>  <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>  }</div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> </div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  <span class="keywordflow">return</span> os;</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, and <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45ba2ce6e134b828b72fad160fa17c8d1b64">SUM_SQUARE</a>.</p>
+<div class="fragment"><div class="line"><a name="l00718"></a><span class="lineno"> 718</span> {</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  <span class="keywordflow">switch</span>(op)</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  {</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>  <span class="keywordflow">case</span> ReductionOperation::SUM_SQUARE:</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>  os << <span class="stringliteral">"SUM_SQUARE"</span>;</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  }</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span> </div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -12882,7 +13532,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const KeyPoint & </td>
+ <td class="paramtype">const <a class="el" href="structarm__compute_1_1_key_point.xhtml">KeyPoint</a> & </td>
<td class="paramname"><em>point</em> </td>
</tr>
<tr>
@@ -12895,23 +13545,149 @@
<p>Formatted output of the <a class="el" href="structarm__compute_1_1_key_point.xhtml" title="Keypoint type. ">KeyPoint</a> type. </p>
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00696">696</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00768">768</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00279">KeyPoint::error</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00277">KeyPoint::orientation</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00276">KeyPoint::scale</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00275">KeyPoint::strength</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00278">KeyPoint::tracking_status</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00273">KeyPoint::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00274">KeyPoint::y</a>.</p>
-<div class="fragment"><div class="line"><a name="l00697"></a><span class="lineno"> 697</span> {</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  os << <span class="stringliteral">"{x="</span> << point.x << <span class="stringliteral">","</span></div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  << <span class="stringliteral">"y="</span> << point.y << <span class="stringliteral">","</span></div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  << <span class="stringliteral">"strength="</span> << point.strength << <span class="stringliteral">","</span></div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  << <span class="stringliteral">"scale="</span> << point.scale << <span class="stringliteral">","</span></div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  << <span class="stringliteral">"orientation="</span> << point.orientation << <span class="stringliteral">","</span></div>
-<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  << <span class="stringliteral">"tracking_status="</span> << point.tracking_status << <span class="stringliteral">","</span></div>
-<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  << <span class="stringliteral">"error="</span> << point.error << <span class="stringliteral">"}"</span>;</div>
-<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> </div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>  <span class="keywordflow">return</span> os;</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> }</div>
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00333">KeyPoint::error</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00331">KeyPoint::orientation</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00330">KeyPoint::scale</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00329">KeyPoint::strength</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00332">KeyPoint::tracking_status</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00327">KeyPoint::x</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00328">KeyPoint::y</a>.</p>
+<div class="fragment"><div class="line"><a name="l00769"></a><span class="lineno"> 769</span> {</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  os << <span class="stringliteral">"{x="</span> << point.x << <span class="stringliteral">","</span></div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  << <span class="stringliteral">"y="</span> << point.y << <span class="stringliteral">","</span></div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  << <span class="stringliteral">"strength="</span> << point.strength << <span class="stringliteral">","</span></div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  << <span class="stringliteral">"scale="</span> << point.scale << <span class="stringliteral">","</span></div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  << <span class="stringliteral">"orientation="</span> << point.orientation << <span class="stringliteral">","</span></div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  << <span class="stringliteral">"tracking_status="</span> << point.tracking_status << <span class="stringliteral">","</span></div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  << <span class="stringliteral">"error="</span> << point.error << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span> </div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span> }</div></div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="abe52a76af2aa88876d54ce8a5969e509"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">inline ::std::ostream& arm_compute::operator<< </td>
+ <td>(</td>
+ <td class="paramtype">::std::ostream & </td>
+ <td class="paramname"><em>os</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">PhaseType</a> & </td>
+ <td class="paramname"><em>phase_type</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Formatted output of the PhaseType type. </p>
+
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00782">782</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72a6898b46a1cde8a1572e2722c44c5ab07">SIGNED</a>, and <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72aaf36b47f395cd01f48b8fc1013665054">UNSIGNED</a>.</p>
+<div class="fragment"><div class="line"><a name="l00783"></a><span class="lineno"> 783</span> {</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  <span class="keywordflow">switch</span>(phase_type)</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  {</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  <span class="keywordflow">case</span> PhaseType::SIGNED:</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  os << <span class="stringliteral">"SIGNED"</span>;</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  <span class="keywordflow">case</span> PhaseType::UNSIGNED:</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  os << <span class="stringliteral">"UNSIGNED"</span>;</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  }</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span> </div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
+<a class="anchor" id="a530d86eec3dbd22cab6336ffdceb0d37"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">inline ::std::ostream& arm_compute::operator<< </td>
+ <td>(</td>
+ <td class="paramtype">::std::ostream & </td>
+ <td class="paramname"><em>os</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">MagnitudeType</a> & </td>
+ <td class="paramname"><em>magnitude_type</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Formatted output of the MagnitudeType type. </p>
+
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00807">807</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aac2f1be73bf576190d1f42bdaf5162ae8">L1NORM</a>, and <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8aad927ac799e8b24f80fc80d89b2eb7131">L2NORM</a>.</p>
+<div class="fragment"><div class="line"><a name="l00808"></a><span class="lineno"> 808</span> {</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  <span class="keywordflow">switch</span>(magnitude_type)</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  {</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  <span class="keywordflow">case</span> MagnitudeType::L1NORM:</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  os << <span class="stringliteral">"L1NORM"</span>;</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  <span class="keywordflow">case</span> MagnitudeType::L2NORM:</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>  os << <span class="stringliteral">"L2NORM"</span>;</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  }</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span> </div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="af3985189d478b45014e7dead9d002e2a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">inline ::std::ostream& arm_compute::operator<< </td>
+ <td>(</td>
+ <td class="paramtype">::std::ostream & </td>
+ <td class="paramname"><em>os</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">GradientDimension</a> & </td>
+ <td class="paramname"><em>dim</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Formatted output of the GradientDimension type. </p>
+
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00832">832</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, and <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7a5515a637eda61b978e97adaa5d7629cc">GRAD_XY</a>.</p>
+<div class="fragment"><div class="line"><a name="l00833"></a><span class="lineno"> 833</span> {</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  <span class="keywordflow">switch</span>(dim)</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>  {</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>  <span class="keywordflow">case</span> GradientDimension::GRAD_X:</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  os << <span class="stringliteral">"GRAD_X"</span>;</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  <span class="keywordflow">case</span> GradientDimension::GRAD_Y:</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>  os << <span class="stringliteral">"GRAD_Y"</span>;</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  <span class="keywordflow">case</span> GradientDimension::GRAD_XY:</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>  os << <span class="stringliteral">"GRAD_XY"</span>;</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"NOT_SUPPORTED!"</span>);</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  }</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span> </div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>  <span class="keywordflow">return</span> os;</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a096590f2456b9e9bcb8db98175720b60"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool arm_compute::operator== </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>< T > & </td>
+ <td class="paramname"><em>lhs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>< T > & </td>
+ <td class="paramname"><em>rhs</em> </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>Definition at line <a class="el" href="_dimensions_8h_source.xhtml#l00208">208</a> of file <a class="el" href="_dimensions_8h_source.xhtml">Dimensions.h</a>.</p>
+
+<p>References <a class="el" href="_dimensions_8h_source.xhtml#l00179">Dimensions< T >::cbegin()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00194">Dimensions< T >::cend()</a>, and <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions< T >::num_dimensions()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> {</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordflow">return</span> ((lhs.num_dimensions() == rhs.num_dimensions()) && std::equal(lhs.cbegin(), lhs.cend(), rhs.cbegin()));</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> }</div></div><!-- fragment -->
+</div>
+</div>
<a class="anchor" id="a1379e5f8a8b4640d7a52d901f0539ccd"></a>
<div class="memitem">
<div class="memproto">
@@ -12925,7 +13701,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">BorderMode & </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> & </td>
<td class="paramname"><em>mode</em> </td>
</tr>
<tr>
@@ -12940,40 +13716,62 @@
<p>Definition at line <a class="el" href="_type_reader_8h_source.xhtml#l00036">36</a> of file <a class="el" href="_type_reader_8h_source.xhtml">TypeReader.h</a>.</p>
-<p>References <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
-<div class="fragment"><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> {</div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  std::string <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>;</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  is >> <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>;</div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  std::transform(value.begin(), value.end(), value.begin(), [](<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> c)</div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  {</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">return</span> std::toupper(c);</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  });</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">if</span>(value == <span class="stringliteral">"UNDEFINED"</span>)</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  {</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  mode = BorderMode::UNDEFINED;</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  }</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(value == <span class="stringliteral">"CONSTANT"</span>)</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  {</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  mode = BorderMode::CONSTANT;</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  }</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(value == <span class="stringliteral">"REPLICATE"</span>)</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  {</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  mode = BorderMode::REPLICATE;</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  }</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  {</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">"Unsupported value '"</span> + value + <span class="stringliteral">"' for border mode"</span>);</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  }</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordflow">return</span> is;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> }</div>
-<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00117">arm_compute::test::validation::c</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92">CONSTANT</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a4ef59320fbe90fe47d40f1f71e4c5daa">REPLICATE</a>, <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a0db45d2a4141101bdfe48e3314cfbca3">UNDEFINED</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
+<div class="fragment"><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> {</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  std::string <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  is >> <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  std::transform(value.begin(), value.end(), value.begin(), [](<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">c</a>)</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  {</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">return</span> std::toupper(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">c</a>);</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  });</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">if</span>(value == <span class="stringliteral">"UNDEFINED"</span>)</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  {</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  mode = BorderMode::UNDEFINED;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  }</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(value == <span class="stringliteral">"CONSTANT"</span>)</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  {</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  mode = BorderMode::CONSTANT;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  }</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(value == <span class="stringliteral">"REPLICATE"</span>)</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  {</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  mode = BorderMode::REPLICATE;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  }</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  {</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">"Unsupported value '"</span> + value + <span class="stringliteral">"' for border mode"</span>);</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  }</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordflow">return</span> is;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> }</div><div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a497347573faa3778743ddf277f861094"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">arm_compute::test::validation::c</a></div><div class="ttdeci">Tensor c</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00117">GEMM.cpp:117</a></div></div>
</div><!-- fragment -->
</div>
</div>
+<a class="anchor" id="a21c3e11887f3acf9284ca763372c7da0"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void arm_compute::permute </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>< T > & </td>
+ <td class="paramname"><em>dimensions</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a33e65be485104e2e9e69fca551d6f492">PermutationVector</a> & </td>
+ <td class="paramname"><em>perm</em> </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>Permutes given <a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> according to a permutation vector. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Validity of permutation is not checked</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in,out]</td><td class="paramname">dimensions</td><td><a class="el" href="classarm__compute_1_1_dimensions.xhtml" title="Dimensions with dimensionality. ">Dimensions</a> to permute </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">perm</td><td>Permutation vector </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00534">534</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
+
+<p>References <a class="el" href="_helpers_8inl_source.xhtml#l00200">auto_init_if_empty()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00169">Dimensions< T >::begin()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00290">calculate_valid_region_scale()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00339">coords2index()</a>, <a class="el" href="_c_l_2_min_max_location_8cpp_source.xhtml#l00090">arm_compute::test::validation::data_type</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00184">Dimensions< T >::end()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00320">index2coords()</a>, <a class="el" href="_dimensions_8h_source.xhtml#l00122">Dimensions< T >::num_dimensions()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00257">set_data_type_if_unknown()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00268">set_fixed_point_position_if_zero()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00246">set_format_if_unknown()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00279">set_quantization_info_if_empty()</a>, <a class="el" href="_helpers_8inl_source.xhtml#l00235">set_shape_if_empty()</a>, and <a class="el" href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">arm_compute::test::validation::shape</a>.</p>
+
+<p>Referenced by <a class="el" href="_c_p_p_2_permute_8cpp_source.xhtml#l00053">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="_permute_fixture_8h_source.xhtml#l00049">PermuteValidationFixture< TensorType, AccessorType, FunctionType, T >::setup()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00535"></a><span class="lineno"> 535</span> {</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  <span class="keyword">auto</span> copy_dimensions = utility::make_array<Dimensions<T>::num_max_dimensions>(dimensions.begin(), dimensions.end());</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < perm.num_dimensions(); ++i)</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  {</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  dimensions[i] = copy_dimensions[perm[i]];</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  }</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span> }</div></div><!-- fragment -->
+</div>
+</div>
<a class="anchor" id="ab7b3af731907e85fcaf72555c446176b"></a>
<div class="memitem">
<div class="memproto">
@@ -13064,53 +13862,12 @@
<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00032">32</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
-<p>References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">arm_compute::test::fixed_point_arithmetic::detail::min()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> {</div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(first_pixel_ptr == <span class="keyword">nullptr</span>);</div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="comment">// Calculate sampling position</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keywordtype">float</span> in_x = (x + 0.5f) * wr - 0.5f;</div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <span class="keywordtype">float</span> in_y = (y + 0.5f) * hr - 0.5f;</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="comment">// Get bounding box offsets</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keywordtype">int</span> x_from = std::floor(x * wr - 0.5f - in_x);</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keywordtype">int</span> y_from = std::floor(y * hr - 0.5f - in_y);</div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keywordtype">int</span> x_to = std::ceil((x + 1) * wr - 0.5f - in_x);</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordtype">int</span> y_to = std::ceil((y + 1) * hr - 0.5f - in_y);</div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="comment">// Clamp position to borders</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  in_x = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(-1.f, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(in_x, static_cast<float>(width)));</div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  in_y = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(-1.f, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(in_y, static_cast<float>(height)));</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="comment">// Clamp bounding box offsets to borders</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  x_from = ((in_x + x_from) < -1) ? -1 : x_from;</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  y_from = ((in_y + y_from) < -1) ? -1 : y_from;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  x_to = ((in_x + x_to) > width) ? (width - in_x) : x_to;</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  y_to = ((in_y + y_to) > height) ? (height - in_y) : y_to;</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="comment">// Get pixel index</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> xi = std::floor(in_x);</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> yi = std::floor(in_y);</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="comment">// Bounding box elements in each dimension</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> x_elements = (x_to - x_from + 1);</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> y_elements = (y_to - y_from + 1);</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(x_elements == 0 || y_elements == 0);</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="comment">// Sum pixels in area</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordtype">int</span> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = 0;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> j = yi + y_from, je = yi + y_to; j <= je; ++j)</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  {</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keyword">const</span> uint8_t *ptr = first_pixel_ptr + j * stride + xi + x_from;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  sum = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(ptr, ptr + x_elements, sum);</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  }</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="comment">// Return average</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">return</span> sum / (x_elements * y_elements);</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> }</div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point< T > min(fixed_point< T > x, fixed_point< T > y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">FixedPoint.h:884</a></div></div>
+<p>References <a class="el" href="accumulate_8cl_source.xhtml#l00041">accumulate()</a>, <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">arm_compute::test::fixed_point_arithmetic::detail::min()</a>, <a class="el" href="_window_8inl_source.xhtml#l00040">Window::set()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
+
+<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00210">pixel_bilinear_c1_clamp()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> {</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(first_pixel_ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="comment">// Calculate sampling position</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keywordtype">float</span> in_x = (x + 0.5f) * wr - 0.5f;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <span class="keywordtype">float</span> in_y = (y + 0.5f) * hr - 0.5f;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="comment">// Get bounding box offsets</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keywordtype">int</span> x_from = std::floor(x * wr - 0.5f - in_x);</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keywordtype">int</span> y_from = std::floor(y * hr - 0.5f - in_y);</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keywordtype">int</span> x_to = std::ceil((x + 1) * wr - 0.5f - in_x);</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordtype">int</span> y_to = std::ceil((y + 1) * hr - 0.5f - in_y);</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="comment">// Clamp position to borders</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  in_x = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(-1.f, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(in_x, static_cast<float>(width)));</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  in_y = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(-1.f, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(in_y, static_cast<float>(height)));</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="comment">// Clamp bounding box offsets to borders</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  x_from = ((in_x + x_from) < -1) ? -1 : x_from;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  y_from = ((in_y + y_from) < -1) ? -1 : y_from;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  x_to = ((in_x + x_to) > width) ? (width - in_x) : x_to;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  y_to = ((in_y + y_to) > height) ? (height - in_y) : y_to;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="comment">// Get pixel index</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> xi = std::floor(in_x);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> yi = std::floor(in_y);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="comment">// Bounding box elements in each dimension</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> x_elements = (x_to - x_from + 1);</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> y_elements = (y_to - y_from + 1);</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(x_elements == 0 || y_elements == 0);</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="comment">// Sum pixels in area</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordtype">int</span> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = 0;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> j = yi + y_from, je = yi + y_to; j <= je; ++j)</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  {</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keyword">const</span> uint8_t *ptr = first_pixel_ptr + j * stride + xi + x_from;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  sum = <a class="code" href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">std::accumulate</a>(ptr, ptr + x_elements, sum);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  }</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="comment">// Return average</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">return</span> sum / (x_elements * y_elements);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point< T > min(fixed_point< T > x, fixed_point< T > y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">FixedPoint.h:884</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
<div class="ttc" id="reduction__operation_8cl_xhtml_ab0df00f5333da51860deb93deb44a782"><div class="ttname"><a href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a></div><div class="ttdeci">DATA_TYPE sum(__global const DATA_TYPE *input)</div><div class="ttdoc">Calculate sum of a vector. </div><div class="ttdef"><b>Definition:</b> <a href="reduction__operation_8cl_source.xhtml#l00052">reduction_operation.cl:52</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
<div class="ttc" id="accumulate_8cl_xhtml_a00e540076dd545ad59ac7482f8cdf514"><div class="ttname"><a href="accumulate_8cl.xhtml#a00e540076dd545ad59ac7482f8cdf514">accumulate</a></div><div class="ttdeci">__kernel void accumulate(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *accu_ptr, uint accu_stride_x, uint accu_step_x, uint accu_stride_y, uint accu_step_y, uint accu_offset_first_element_in_bytes)</div><div class="ttdoc">This function accumulates an input image into output image. </div><div class="ttdef"><b>Definition:</b> <a href="accumulate_8cl_source.xhtml#l00041">accumulate.cl:41</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point< T > max(fixed_point< T > x, fixed_point< T > y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">FixedPoint.h:889</a></div></div>
</div><!-- fragment -->
@@ -13173,22 +13930,11 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The pixel at (x, y) using bilinear interpolation. </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00131">131</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00183">183</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00099">delta_bilinear_c1()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00132"></a><span class="lineno"> 132</span> {</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(first_pixel_ptr == <span class="keyword">nullptr</span>);</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keyword">const</span> int32_t xi = std::floor(x);</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keyword">const</span> int32_t yi = std::floor(y);</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dx = x - xi;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dy = y - yi;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">delta_bilinear_c1</a>(first_pixel_ptr + xi + yi * stride, stride, dx, dy);</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ad656a27ce8a507e31096ca45683ba9a5"><div class="ttname"><a href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">arm_compute::delta_bilinear_c1</a></div><div class="ttdeci">T delta_bilinear_c1(const T *pixel_ptr, size_t stride, float dx, float dy)</div><div class="ttdoc">Computes bilinear interpolation using the pointer to the top-left pixel and the pixel's distance betw...</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00099">Helpers.h:99</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>, and <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00100">delta_bilinear_c1()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> {</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(first_pixel_ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <span class="keyword">const</span> int32_t xi = std::floor(x);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keyword">const</span> int32_t yi = std::floor(y);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dx = x - xi;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dy = y - yi;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">delta_bilinear_c1</a>(first_pixel_ptr + xi + yi * stride, stride, dx, dy);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ad656a27ce8a507e31096ca45683ba9a5"><div class="ttname"><a href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">arm_compute::delta_bilinear_c1</a></div><div class="ttdeci">T delta_bilinear_c1(const T *pixel_ptr, size_t stride, float dx, float dy)</div><div class="ttdoc">Computes bilinear interpolation using the pointer to the top-left pixel and the pixel&#39;s distance betw...</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00100">Helpers.h:100</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -13264,26 +14010,14 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The pixel at (x, y) using bilinear interpolation. </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00158">158</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00210">210</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00124">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00099">delta_bilinear_c1()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, and <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">arm_compute::test::fixed_point_arithmetic::detail::min()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> {</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(first_pixel_ptr == <span class="keyword">nullptr</span>);</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  x = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(-1.f, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(x, static_cast<float>(width)));</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  y = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(-1.f, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(y, static_cast<float>(height)));</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> xi = std::floor(x);</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> yi = std::floor(y);</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dx = x - xi;</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dy = y - yi;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">delta_bilinear_c1</a>(first_pixel_ptr + static_cast<int32_t>(xi) + static_cast<int32_t>(yi) * stride, stride, dx, dy);</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> }</div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point< T > min(fixed_point< T > x, fixed_point< T > y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">FixedPoint.h:884</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00124">Error.h:124</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_ad656a27ce8a507e31096ca45683ba9a5"><div class="ttname"><a href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">arm_compute::delta_bilinear_c1</a></div><div class="ttdeci">T delta_bilinear_c1(const T *pixel_ptr, size_t stride, float dx, float dy)</div><div class="ttdoc">Computes bilinear interpolation using the pointer to the top-left pixel and the pixel's distance betw...</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00099">Helpers.h:99</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00306">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00100">delta_bilinear_c1()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00157">delta_linear_c1_x()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00132">delta_linear_c1_y()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">arm_compute::test::fixed_point_arithmetic::detail::min()</a>, and <a class="el" href="_helpers_8inl_source.xhtml#l00032">pixel_area_c1u8_clamp()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> {</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <a class="code" href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(first_pixel_ptr == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  x = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(-1.f, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(x, static_cast<float>(width)));</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  y = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(-1.f, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(y, static_cast<float>(height)));</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> xi = std::floor(x);</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> yi = std::floor(y);</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dx = x - xi;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="keyword">const</span> <span class="keywordtype">float</span> dy = y - yi;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">if</span>(dx == 0.0f)</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  {</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keywordflow">if</span>(dy == 0.0f)</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  {</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span>T<span class="keyword">></span>(first_pixel_ptr[<span class="keyword">static_cast<</span>int32_t<span class="keyword">></span>(xi) + static_cast<int32_t>(yi) * stride]);</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  }</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ad5fa8bacf824e9538014bfb0dcdaab52">delta_linear_c1_y</a>(first_pixel_ptr + static_cast<int32_t>(xi) + static_cast<int32_t>(yi) * stride, stride, dy);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  }</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keywordflow">if</span>(dy == 0.0f)</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  {</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a6174495b626531de015ae2b810859287">delta_linear_c1_x</a>(first_pixel_ptr + static_cast<int32_t>(xi) + static_cast<int32_t>(yi) * stride, dx);</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  }</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">delta_bilinear_c1</a>(first_pixel_ptr + static_cast<int32_t>(xi) + static_cast<int32_t>(yi) * stride, stride, dx, dy);</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point< T > min(fixed_point< T > x, fixed_point< T > y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">FixedPoint.h:884</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a6174495b626531de015ae2b810859287"><div class="ttname"><a href="namespacearm__compute.xhtml#a6174495b626531de015ae2b810859287">arm_compute::delta_linear_c1_x</a></div><div class="ttdeci">T delta_linear_c1_x(const T *pixel_ptr, float dx)</div><div class="ttdoc">Computes linear interpolation using the pointer to the left pixel and the pixel&#39;s distance between th...</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00157">Helpers.h:157</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="core_2_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00306">Error.h:306</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ad5fa8bacf824e9538014bfb0dcdaab52"><div class="ttname"><a href="namespacearm__compute.xhtml#ad5fa8bacf824e9538014bfb0dcdaab52">arm_compute::delta_linear_c1_y</a></div><div class="ttdeci">T delta_linear_c1_y(const T *pixel_ptr, size_t stride, float dy)</div><div class="ttdoc">Computes linear interpolation using the pointer to the top pixel and the pixel&#39;s distance between the...</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00132">Helpers.h:132</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_ad656a27ce8a507e31096ca45683ba9a5"><div class="ttname"><a href="namespacearm__compute.xhtml#ad656a27ce8a507e31096ca45683ba9a5">arm_compute::delta_bilinear_c1</a></div><div class="ttdeci">T delta_bilinear_c1(const T *pixel_ptr, size_t stride, float dx, float dy)</div><div class="ttdoc">Computes bilinear interpolation using the pointer to the top-left pixel and the pixel&#39;s distance betw...</div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00100">Helpers.h:100</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point< T > max(fixed_point< T > x, fixed_point< T > y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">FixedPoint.h:889</a></div></div>
</div><!-- fragment -->
</div>
@@ -13298,7 +14032,7 @@
<tr>
<td class="memname">size_t arm_compute::pixel_size_from_format </td>
<td>(</td>
- <td class="paramtype">Format </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> </td>
<td class="paramname"><em>format</em></td><td>)</td>
<td></td>
</tr>
@@ -13319,40 +14053,10 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The size in bytes of the pixel format </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00124">124</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00126">126</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
-<div class="fragment"><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> {</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordflow">switch</span>(format)</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  {</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordflow">case</span> Format::U8:</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">case</span> Format::U16:</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">case</span> Format::S16:</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordflow">case</span> Format::F16:</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordflow">case</span> Format::UV88:</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keywordflow">case</span> Format::YUYV422:</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordflow">case</span> Format::UYVY422:</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">return</span> 2;</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordflow">case</span> Format::RGB888:</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">return</span> 3;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">return</span> 4;</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">case</span> Format::U32:</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">case</span> Format::S32:</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">case</span> Format::F32:</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">return</span> 4;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="comment">//Doesn't make sense for planar formats:</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">case</span> Format::NV12:</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordflow">case</span> Format::NV21:</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">case</span> Format::IYUV:</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">case</span> Format::YUV444:</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Undefined pixel size for given format"</span>);</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  }</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a56d8353718e6fdc78b8d69078a2cdb94">F16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a44ad4ef5a76e6aa6fb3e3fa079a54fda">F32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a30ff380a3be74628024063a99fba10f0">RGB888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a165f06116e7b8d9b2481dfc805db4619">RGBA8888</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6e0b0886efb94aec797f6b830329b72c">S16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aa1e28eee0339658d39a8b4d325b56e9c">S32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58aef9ef3ebca4d2b64b6ec83808bafa5f2">U16</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ac8bd5bedff8ef192d39a962afc0e19ee">U32</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a6669348b484e3008dca2bfa8e85e40b5">U8</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a079eb95759d2ad31254f659d63651825">UV88</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58af557448a61ad2927194f63442e131dfa">UYVY422</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a481e7a6945eb9f23e87f2de780b2e164">YUYV422</a>.</p>
+<div class="fragment"><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> {</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  {</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">case</span> Format::U8:</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordflow">case</span> Format::U16:</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordflow">case</span> Format::S16:</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keywordflow">case</span> Format::F16:</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordflow">case</span> Format::UV88:</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">case</span> Format::YUYV422:</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordflow">case</span> Format::UYVY422:</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">case</span> Format::RGB888:</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">return</span> 3;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">case</span> Format::RGBA8888:</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">case</span> Format::U32:</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">case</span> Format::S32:</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">case</span> Format::F32:</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">return</span> 4;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="comment">//Doesn't make sense for planar formats:</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Undefined pixel size for given format"</span>);</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  }</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -13366,13 +14070,13 @@
<tr>
<td class="memname">int arm_compute::plane_idx_from_channel </td>
<td>(</td>
- <td class="paramtype">Format </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> </td>
<td class="paramname"><em>format</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">Channel </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> </td>
<td class="paramname"><em>channel</em> </td>
</tr>
<tr>
@@ -13398,49 +14102,10 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The plane index of the specific channel of the specific format </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00233">233</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00236">236</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00031">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>.</p>
-<div class="fragment"><div class="line"><a name="l00234"></a><span class="lineno"> 234</span> {</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">switch</span>(format)</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  {</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordflow">case</span> Format::NV12:</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">case</span> Format::NV21:</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  {</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">switch</span>(channel)</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  {</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keywordflow">case</span> Channel::Y:</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="keywordflow">case</span> Channel::U:</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">case</span> Channel::V:</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported channel"</span>);</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  }</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  }</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <span class="keywordflow">case</span> Format::IYUV:</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keywordflow">case</span> Format::YUV444:</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  {</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordflow">switch</span>(channel)</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  {</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordflow">case</span> Channel::Y:</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordflow">case</span> Channel::U:</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordflow">case</span> Channel::V:</div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">return</span> 2;</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported channel"</span>);</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  }</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  }</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <a class="code" href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported format"</span>);</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  }</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> }</div>
-<div class="ttc" id="_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00031">Error.h:31</a></div></div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00238">ARM_COMPUTE_ERROR</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58ab08f0cb36474118c5bbc03b3a172a778">IYUV</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a202f5d8c2c70d31048154d8b8b28e755">NV12</a>, <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a8e9f6aa1af7e0abbc7e64521e6ffe1b4">NV21</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa5206560a306a2e085a437fd258eb57ce">V</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa57cec4137b614c87cb4e24a3d003a3e0">Y</a>, and <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58a11cfa56ee0ddbbc30a2fd189d7475f4c">YUV444</a>.</p>
+<div class="fragment"><div class="line"><a name="l00237"></a><span class="lineno"> 237</span> {</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">switch</span>(format)</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  {</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">case</span> Format::NV12:</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keywordflow">case</span> Format::NV21:</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  {</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  {</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported channel"</span>);</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  }</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  }</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordflow">case</span> Format::IYUV:</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keywordflow">case</span> Format::YUV444:</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  {</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordflow">switch</span>(channel)</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  {</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keywordflow">case</span> Channel::Y:</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">case</span> Channel::U:</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keywordflow">case</span> Channel::V:</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported channel"</span>);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  }</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  }</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <a class="code" href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a>(<span class="stringliteral">"Not supported format"</span>);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  }</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span> }</div><div class="ttc" id="core_2_error_8h_xhtml_a05b19c75afe9c24200a62b9724734bbd"><div class="ttname"><a href="core_2_error_8h.xhtml#a05b19c75afe9c24200a62b9724734bbd">ARM_COMPUTE_ERROR</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR(...)</div><div class="ttdoc">Print the given message then throw an std::runtime_error. </div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00238">Error.h:238</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -13457,7 +14122,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DataType </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td>
<td class="paramname"><em>dt</em>, </td>
</tr>
<tr>
@@ -13505,6 +14170,8 @@
</dd>
</dl>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00863">max_consecutive_elements_display_width_impl()</a>.</p>
+
</div>
</div>
<a class="anchor" id="aa3a28b8acd21301990e06377c64e1276"></a>
@@ -13561,24 +14228,12 @@
</dd>
</dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00719">719</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00830">830</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
-<p>References <a class="el" href="hwc_8hpp_source.xhtml#l00204">mali_userspace::type</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
-<div class="fragment"><div class="line"><a name="l00720"></a><span class="lineno"> 720</span> {</div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>  <span class="keyword">using</span> print_type = <span class="keyword">typename</span> <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">std::conditional<std::is_floating_point<T>::value</a>, T, <span class="keywordtype">int</span>><a class="code" href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">::type</a>;</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> </div>
-<div class="line"><a name="l00723"></a><span class="lineno"> 723</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < n; ++i)</div>
-<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>  {</div>
-<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  <span class="comment">// Set stream width as it is not a "sticky" stream manipulator</span></div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  <span class="keywordflow">if</span>(stream_width != 0)</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  {</div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  s.width(stream_width);</div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  }</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  s << std::right << static_cast<print_type>(ptr[i]) << element_delim;</div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  }</div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> }</div>
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::type</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
+<div class="fragment"><div class="line"><a name="l00831"></a><span class="lineno"> 831</span> {</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  <span class="keyword">using</span> print_type = <span class="keyword">typename</span> <a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">std::conditional<std::is_floating_point<T>::value</a>, T, <span class="keywordtype">int</span>><a class="code" href="namespacecaffe__data__extractor.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">::type</a>;</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span> </div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < n; ++i)</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>  {</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>  <span class="comment">// Set stream width as it is not a "sticky" stream manipulator</span></div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  <span class="keywordflow">if</span>(stream_width != 0)</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  {</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  s.width(stream_width);</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>  }</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span> </div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  <span class="keywordflow">if</span>(std::is_same<<span class="keyword">typename</span> <a class="code" href="namespacecaffe__data__extractor.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">std::decay<T>::type</a>, <a class="code" href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">half</a>>::<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>)</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>  {</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>  <span class="comment">// We use T instead of print_type here is because the std::is_floating_point<half> returns false and then the print_type becomes int.</span></div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  s << std::right << static_cast<T>(ptr[i]) << element_delim;</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>  }</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  {</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>  s << std::right << static_cast<print_type>(ptr[i]) << element_delim;</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>  }</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>  }</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a73e2825fd61d349c5ca2f5313e3c8ea1"><div class="ttname"><a href="namespacearm__compute.xhtml#a73e2825fd61d349c5ca2f5313e3c8ea1">arm_compute::half</a></div><div class="ttdeci">half_float::half half</div><div class="ttdoc">16-bit floating point type </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00043">Types.h:43</a></div></div>
<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
-<div class="ttc" id="namespacemali__userspace_xhtml_ad44b615021ed3ccb734fcaf583ef4a03"><div class="ttname"><a href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">mali_userspace::type</a></div><div class="ttdeci">uint32_t type</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00204">hwc.hpp:204</a></div></div>
+<div class="ttc" id="namespacecaffe__data__extractor_xhtml_a7aead736a07eaf25623ad7bfa1f0ee2d"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">caffe_data_extractor.type</a></div><div class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -13616,6 +14271,94 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The content of the file. </dd></dl>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00061">DIV_CEIL()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6452ac376d4adb94d93a93d678bb6757"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int arm_compute::round </td>
+ <td>(</td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> </td>
+ <td class="paramname"><em>rounding_policy</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Return a rounded value of x. </p>
+<p>Rounding is done according to the rounding_policy.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Float value to be rounded. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">rounding_policy</td><td>Policy determining how rounding is done.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Rounded value of the argument x. </dd></dl>
+
+<p>Referenced by <a class="el" href="activation__layer__qa8_8cl_source.xhtml#l00070">activation_layer_qa8()</a>, <a class="el" href="tests_2validation_2_u_n_i_t_2_utils_8cpp_source.xhtml#l00063">DATA_TEST_CASE()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00559">data_type_for_convolution_matrix()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00154">finalize()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00204">lktracker_stage0()</a>, <a class="el" href="optical__flow__pyramid__lk_8cl_source.xhtml#l00355">lktracker_stage1()</a>, <a class="el" href="pooling__layer__quantized_8cl_source.xhtml#l00078">pooling_layer_N_quantized()</a>, <a class="el" href="roi__pooling__layer_8cl_source.xhtml#l00123">roi_pooling_layer()</a>, and <a class="el" href="_q_asymm8_8inl_source.xhtml#l00029">sqcvt_qasymm8_f32()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5e28a3911204ac952601f512c82b48f1"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">int32x4_t rounding_divide_by_pow2 </td>
+ <td>(</td>
+ <td class="paramtype">int32x4_t </td>
+ <td class="paramname"><em>x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int </td>
+ <td class="paramname"><em>exponent</em> </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>Round to the nearest division by a power-of-two using exponent. </p>
+<dl class="section note"><dt>Note</dt><dd>This function calculates the following expression: (x + 2^n -1 ) / 2^n where n = exponent</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td><a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> of 4 elements </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">exponent</td><td>Integer value used to round to nearest division by a power-of-two</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the nearest division by a power-of-two using exponent </dd></dl>
+
+<p>Definition at line <a class="el" href="_n_e_asymm_8inl_source.xhtml#l00026">26</a> of file <a class="el" href="_n_e_asymm_8inl_source.xhtml">NEAsymm.inl</a>.</p>
+<div class="fragment"><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> {</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  <span class="keyword">const</span> int32x4_t shift_vec = vdupq_n_s32(-exponent);</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <span class="keyword">const</span> int32x4_t fixup = vshrq_n_s32(vandq_s32(x, shift_vec), 31);</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  <span class="keyword">const</span> int32x4_t fixed_up_x = vqaddq_s32(x, fixup);</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  <span class="keywordflow">return</span> vrshlq_s32(fixed_up_x, shift_vec);</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a5d49ea329c81268d6e12031f6f13f1eb"></a>
@@ -13628,7 +14371,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sabs_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -13651,13 +14394,11 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00083">83</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, and <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">arm_compute::test::fixed_point_arithmetic::detail::min()</a>.</p>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::a</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, and <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">arm_compute::test::fixed_point_arithmetic::detail::min()</a>.</p>
<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00300">sqexp_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00084"></a><span class="lineno"> 84</span> {</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">return</span> (a < 0) ? (a == <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::numeric_limits<int16_t>::min</a>()) ? <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::numeric_limits<int16_t>::max</a>() : -a : a;</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> }</div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point< T > min(fixed_point< T > x, fixed_point< T > y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">FixedPoint.h:884</a></div></div>
+<div class="fragment"><div class="line"><a name="l00084"></a><span class="lineno"> 84</span> {</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> < 0) ? (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> == <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::numeric_limits<int16_t>::min</a>()) ? <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::numeric_limits<int16_t>::max</a>() : -<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> : <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point< T > min(fixed_point< T > x, fixed_point< T > y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">FixedPoint.h:884</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point< T > max(fixed_point< T > x, fixed_point< T > y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">FixedPoint.h:889</a></div></div>
</div><!-- fragment -->
</div>
@@ -13672,7 +14413,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sabs_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -13695,13 +14436,11 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00078">78</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, and <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">arm_compute::test::fixed_point_arithmetic::detail::min()</a>.</p>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::a</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, and <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">arm_compute::test::fixed_point_arithmetic::detail::min()</a>.</p>
<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00277">sqexp_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> {</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">return</span> (a < 0) ? (a == <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::numeric_limits<int8_t>::min</a>()) ? <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::numeric_limits<int8_t>::max</a>() : -a : a;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> }</div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point< T > min(fixed_point< T > x, fixed_point< T > y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">FixedPoint.h:884</a></div></div>
+<div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">return</span> (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> < 0) ? (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> == <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::numeric_limits<int8_t>::min</a>()) ? <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::numeric_limits<int8_t>::max</a>() : -<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> : <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point< T > min(fixed_point< T > x, fixed_point< T > y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">FixedPoint.h:884</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point< T > max(fixed_point< T > x, fixed_point< T > y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">FixedPoint.h:889</a></div></div>
</div><!-- fragment -->
</div>
@@ -13716,13 +14455,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sadd_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -13750,10 +14489,11 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00093">93</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">arm_compute::test::validation::b</a>.</p>
+
<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00356">slog_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> {</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordflow">return</span> a + b;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> }</div>
+<div class="fragment"><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -13767,13 +14507,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sadd_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -13801,10 +14541,11 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00088">88</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">arm_compute::test::validation::b</a>.</p>
+
<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00323">slog_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> {</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">return</span> a + b;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> }</div>
+<div class="fragment"><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> {</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> + <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -13839,7 +14580,7 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const PadStrideInfo & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> & </td>
<td class="paramname"><em>pad_stride_info</em> </td>
</tr>
<tr>
@@ -13863,6 +14604,57 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pair with the new width in the first position and the new height in the second. </dd></dl>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00559">data_type_for_convolution_matrix()</a>, and <a class="el" href="_direct_convolution_layer_fixture_8h_source.xhtml#l00069">DirectConvolutionValidationGenericFixture< TensorType, AccessorType, FunctionType, T >::setup()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a69d3ceb714f7600f60cb2b3d4f3d86b1"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">float arm_compute::scvt_f32_qasymm8 </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab8938bcb3ec0f5f8d93285eb3a28b701">qasymm8_t</a> </td>
+ <td class="paramname"><em>value</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>scale</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int </td>
+ <td class="paramname"><em>offset</em> </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>Definition at line <a class="el" href="_q_asymm8_8inl_source.xhtml#l00036">36</a> of file <a class="el" href="_q_asymm8_8inl_source.xhtml">QAsymm8.inl</a>.</p>
+
+<p>References <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00176">arm_compute::test::validation::scale</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00269">value</a>.</p>
+
+<p>Referenced by <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00142">QuantizationInfo::dequantize()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> {</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <span class="keywordtype">float</span> dequantized = (<span class="keyword">static_cast<</span><span class="keywordtype">int</span><span class="keyword">></span>(<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a>) - <a class="code" href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>) * <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acec6d8ad52a28972fa74e071c1a63b6a">scale</a>;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keywordflow">return</span> dequantized;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> }</div><div class="ttc" id="helpers_8h_xhtml_a009469e4d9b8fce3b6d5e97d2077827d"><div class="ttname"><a href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a></div><div class="ttdeci">__global uchar * offset(const Image *img, int x, int y)</div><div class="ttdoc">Get the pointer position of a Image. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00301">helpers.h:301</a></div></div>
+<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_acec6d8ad52a28972fa74e071c1a63b6a"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acec6d8ad52a28972fa74e071c1a63b6a">arm_compute::test::validation::scale</a></div><div class="ttdeci">scale</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00176">PixelWiseMultiplication.cpp:176</a></div></div>
+</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a55e8e161b9a16d750a6cff3fba6cd480"></a>
@@ -13875,7 +14667,7 @@
<tr>
<td class="memname">float scvt_f32_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -13908,9 +14700,9 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 16 bit fixed point -> float </dd></dl>
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00400">400</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00401"></a><span class="lineno"> 401</span> {</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keywordtype">float</span><span class="keyword">></span>(a) / (1 << fixed_point_position);</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> }</div>
+
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::a</a>.</p>
+<div class="fragment"><div class="line"><a name="l00401"></a><span class="lineno"> 401</span> {</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keywordtype">float</span><span class="keyword">></span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) / (1 << fixed_point_position);</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -13924,7 +14716,7 @@
<tr>
<td class="memname">float scvt_f32_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -13957,9 +14749,9 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 8 bit fixed point -> float </dd></dl>
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00389">389</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00390"></a><span class="lineno"> 390</span> {</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keywordtype">float</span><span class="keyword">></span>(a) / (1 << fixed_point_position);</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> }</div>
+
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::a</a>.</p>
+<div class="fragment"><div class="line"><a name="l00390"></a><span class="lineno"> 390</span> {</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keywordtype">float</span><span class="keyword">></span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) / (1 << fixed_point_position);</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -13973,13 +14765,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sdiv_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
@@ -14014,13 +14806,13 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00271">271</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">arm_compute::test::validation::b</a>.</p>
+
<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00356">slog_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00272"></a><span class="lineno"> 272</span> {</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> temp = a << fixed_point_position;</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">></span>(temp / b);</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> }</div>
+<div class="fragment"><div class="line"><a name="l00272"></a><span class="lineno"> 272</span> {</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> temp = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> << fixed_point_position;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">></span>(temp / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -14034,13 +14826,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sdiv_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
@@ -14075,13 +14867,13 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00265">265</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">arm_compute::test::validation::b</a>.</p>
+
<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00323">slog_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00266"></a><span class="lineno"> 266</span> {</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> temp = a << fixed_point_position;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a><span class="keyword">></span>(temp / b);</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div>
+<div class="fragment"><div class="line"><a name="l00266"></a><span class="lineno"> 266</span> {</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> temp = <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> << fixed_point_position;</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a><span class="keyword">></span>(temp / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -14141,57 +14933,10 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the separation was successful </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00356">356</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00396">396</a> of file <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml">Utils.h</a>.</p>
<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00914">arm_compute::test::fixed_point_arithmetic::detail::abs()</a>, and <a class="el" href="hwc_8hpp_source.xhtml#l00276">size</a>.</p>
-<div class="fragment"><div class="line"><a name="l00357"></a><span class="lineno"> 357</span> {</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  int32_t min_col = -1;</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  int16_t min_col_val = -1;</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <span class="keywordflow">for</span>(int32_t i = 0; i < <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>; ++i)</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  {</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <span class="keywordflow">if</span>(conv[i] != 0 && (min_col < 0 || <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ae115fc750a92fb6a5e094998b56fcc56">abs</a>(min_col_val) > <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ae115fc750a92fb6a5e094998b56fcc56">abs</a>(conv[i])))</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  {</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  min_col = i;</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  min_col_val = conv[i];</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  }</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  }</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keywordflow">if</span>(min_col < 0)</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  {</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  }</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keywordflow">for</span>(uint32_t j = 0; j < <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>; ++j)</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  {</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  conv_col[j] = conv[min_col + j * <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>];</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  }</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="keywordflow">for</span>(uint32_t i = 0; i < <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>; i++)</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  {</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="keywordflow">if</span>(static_cast<int>(i) == min_col)</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  {</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  conv_row[i] = 1;</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  }</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  {</div>
-<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  int16_t coeff = conv[i] / conv[min_col];</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div>
-<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="keywordflow">for</span>(uint32_t j = 1; j < <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>; ++j)</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  {</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keywordflow">if</span>(conv[i + j * size] != (conv_col[j] * coeff))</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  {</div>
-<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
-<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  }</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  }</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  conv_row[i] = coeff;</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  }</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  }</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> }</div>
-<div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00276">hwc.hpp:276</a></div></div>
+<div class="fragment"><div class="line"><a name="l00397"></a><span class="lineno"> 397</span> {</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  int32_t min_col = -1;</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  int16_t min_col_val = -1;</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <span class="keywordflow">for</span>(int32_t i = 0; i < <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>; ++i)</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  {</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  <span class="keywordflow">if</span>(conv[i] != 0 && (min_col < 0 || <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ae115fc750a92fb6a5e094998b56fcc56">abs</a>(min_col_val) > <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ae115fc750a92fb6a5e094998b56fcc56">abs</a>(conv[i])))</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  {</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  min_col = i;</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  min_col_val = conv[i];</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  }</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  }</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <span class="keywordflow">if</span>(min_col < 0)</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  {</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  }</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span> </div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keywordflow">for</span>(uint32_t j = 0; j < <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>; ++j)</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  {</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  conv_col[j] = conv[min_col + j * <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>];</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  }</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="keywordflow">for</span>(uint32_t i = 0; i < <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>; i++)</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  {</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <span class="keywordflow">if</span>(static_cast<int>(i) == min_col)</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  {</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  conv_row[i] = 1;</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  }</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  {</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  int16_t coeff = conv[i] / conv[min_col];</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span> </div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <span class="keywordflow">for</span>(uint32_t j = 1; j < <a class="code" href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a>; ++j)</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  {</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <span class="keywordflow">if</span>(conv[i + j * size] != (conv_col[j] * coeff))</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  {</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  }</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  }</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span> </div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  conv_row[i] = coeff;</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  }</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  }</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span> </div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span> }</div><div class="ttc" id="hwc_8hpp_xhtml_ab2c6b258f02add8fdf4cfc7c371dd772"><div class="ttname"><a href="hwc_8hpp.xhtml#ab2c6b258f02add8fdf4cfc7c371dd772">size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00276">hwc.hpp:276</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ae115fc750a92fb6a5e094998b56fcc56"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ae115fc750a92fb6a5e094998b56fcc56">arm_compute::test::fixed_point_arithmetic::detail::abs</a></div><div class="ttdeci">fixed_point< T > abs(fixed_point< T > x)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00914">FixedPoint.h:914</a></div></div>
</div><!-- fragment -->
</div>
@@ -14206,13 +14951,13 @@
<tr>
<td class="memname">bool set_data_type_if_unknown </td>
<td>(</td>
- <td class="paramtype">ITensorInfo & </td>
+ <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> & </td>
<td class="paramname"><em>info</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">DataType </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td>
<td class="paramname"><em>data_type</em> </td>
</tr>
<tr>
@@ -14228,19 +14973,12 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00236">236</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00257">257</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
-<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a4b622a0346ec30baf0b9a387e00c9ace">ITensorInfo::set_data_type()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
-<div class="fragment"><div class="line"><a name="l00237"></a><span class="lineno"> 237</span> {</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() == DataType::UNKNOWN)</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  {</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_data_type(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>);</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  }</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> }</div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -> set_format(Format::S16)</div></div>
+<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a9ebcdce876b4cd07736afa47d50154de">ITensorInfo::set_data_type()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
+
+<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00534">permute()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> {</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() == DataType::UNKNOWN)</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  {</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_data_type(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>);</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  }</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -> set_format(Format::S16)</div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00090">MinMaxLocation.cpp:90</a></div></div>
</div><!-- fragment -->
</div>
@@ -14255,7 +14993,7 @@
<tr>
<td class="memname">bool set_fixed_point_position_if_zero </td>
<td>(</td>
- <td class="paramtype">ITensorInfo & </td>
+ <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> & </td>
<td class="paramname"><em>info</em>, </td>
</tr>
<tr>
@@ -14277,19 +15015,12 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00247">247</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00268">268</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
-<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab21a362740e892b6e913bd8db03b0e67">ITensorInfo::fixed_point_position()</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#aec2c125ece3cc6593a0be7f1fef3d97f">ITensorInfo::set_fixed_point_position()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00248"></a><span class="lineno"> 248</span> {</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.fixed_point_position() == 0 && (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() == DataType::QS8 || <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() == DataType::QS16))</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  {</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_fixed_point_position(fixed_point_position);</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  }</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> }</div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -> set_format(Format::S16)</div></div>
+<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab21a362740e892b6e913bd8db03b0e67">ITensorInfo::fixed_point_position()</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a48d877702a2957f5a932c43a357866f9">QS16</a>, <a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a11cde4d3551db3f9498d339a67189543">QS8</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a8d9488caf817e12132f0ca2a4c30deba">ITensorInfo::set_fixed_point_position()</a>.</p>
+
+<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00534">permute()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00269"></a><span class="lineno"> 269</span> {</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.fixed_point_position() == 0 && (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() == DataType::QS8 || <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() == DataType::QS16))</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  {</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_fixed_point_position(fixed_point_position);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  }</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -> set_format(Format::S16)</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -14303,13 +15034,13 @@
<tr>
<td class="memname">bool set_format_if_unknown </td>
<td>(</td>
- <td class="paramtype">ITensorInfo & </td>
+ <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> & </td>
<td class="paramname"><em>info</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">Format </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> </td>
<td class="paramname"><em>format</em> </td>
</tr>
<tr>
@@ -14325,19 +15056,54 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00225">225</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00246">246</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
-<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a43bf980bc1ac27efa062386baa506380">ITensorInfo::set_format()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
-<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span> {</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() == DataType::UNKNOWN)</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  {</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_format(format);</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  }</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> }</div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -> set_format(Format::S16)</div></div>
+<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a17394f0f7aea22d9b2d4c6f33bfa69ca">ITensorInfo::set_format()</a>, and <a class="el" href="namespacearm__compute.xhtml#a3a440b3893fa10608d4428958be1c52ea696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a>.</p>
+
+<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00534">permute()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00247"></a><span class="lineno"> 247</span> {</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() == DataType::UNKNOWN)</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  {</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_format(format);</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  }</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -> set_format(Format::S16)</div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a75509469ec2689ec143f4a37bbcb4437"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool set_quantization_info_if_empty </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> & </td>
+ <td class="paramname"><em>info</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> </td>
+ <td class="paramname"><em>quantization_info</em> </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>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00279">279</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+
+<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7cfb31af63202568efef5214acfbf3ba">ITensorInfo::data_type()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00149">QuantizationInfo::empty()</a>, <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00796">is_data_type_quantized_asymmetric()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a3f3e1a3200223e6a304a533b1016e749">ITensorInfo::quantization_info()</a>, and <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#ab64a0374b9e2292ed2b55f4f18c98423">ITensorInfo::set_quantization_info()</a>.</p>
+
+<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00534">permute()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00280"></a><span class="lineno"> 280</span> {</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.quantization_info().empty() && (<a class="code" href="namespacearm__compute.xhtml#a14f46283f316e7f0fad301d5c1507e9f">is_data_type_quantized_asymmetric</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type())))</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  {</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_quantization_info(quantization_info);</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  }</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -> set_format(Format::S16)</div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a14f46283f316e7f0fad301d5c1507e9f"><div class="ttname"><a href="namespacearm__compute.xhtml#a14f46283f316e7f0fad301d5c1507e9f">arm_compute::is_data_type_quantized_asymmetric</a></div><div class="ttdeci">bool is_data_type_quantized_asymmetric(DataType dt)</div><div class="ttdoc">Check if a given data type is of asymmetric quantized type. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_utils_8h_source.xhtml#l00796">Utils.h:796</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -14351,13 +15117,13 @@
<tr>
<td class="memname">bool set_shape_if_empty </td>
<td>(</td>
- <td class="paramtype">ITensorInfo & </td>
+ <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> & </td>
<td class="paramname"><em>info</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const TensorShape & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> & </td>
<td class="paramname"><em>shape</em> </td>
</tr>
<tr>
@@ -14373,19 +15139,12 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00214">214</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
+<p>Definition at line <a class="el" href="_helpers_8inl_source.xhtml#l00235">235</a> of file <a class="el" href="_helpers_8inl_source.xhtml">Helpers.inl</a>.</p>
-<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a40deec9ef7e7c892bef6b11b4d81c38e">ITensorInfo::set_tensor_shape()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00135">TensorShape::total_size()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00215"></a><span class="lineno"> 215</span> {</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.tensor_shape().total_size() == 0)</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  {</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_tensor_shape(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>);</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  }</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> }</div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
+<p>References <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#aaf359cee0fc728e7c7fb8b692979994b">ITensorInfo::set_tensor_shape()</a>, <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml#a7c66505457d00ece3aa4b34cab80757d">ITensorInfo::tensor_shape()</a>, and <a class="el" href="_tensor_shape_8h_source.xhtml#l00135">TensorShape::total_size()</a>.</p>
+
+<p>Referenced by <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00534">permute()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> {</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.tensor_shape().total_size() == 0)</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  {</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.set_tensor_shape(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>);</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  }</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -> set_format(Format::S16)</div></div>
</div><!-- fragment -->
</div>
@@ -14397,7 +15156,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> arm_compute::sexp_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -14436,7 +15195,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sinvsqrt_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -14471,24 +15230,7 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00245">245</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
<p>References <a class="el" href="_fixed_point_8inl_source.xhtml#l00165">smul_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00130">ssub_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00246"></a><span class="lineno"> 246</span> {</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> shift = 16 - (fixed_point_position + (__builtin_clz(a) - 16));</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> const_three = (3 << fixed_point_position);</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> temp = shift < 0 ? (a << -shift) : (a >> shift);</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> x2 = temp;</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="comment">// We need three iterations to find the result</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i < 3; ++i)</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  {</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> three_minus_dx = <a class="code" href="namespacearm__compute.xhtml#a70476eda2d46c943d572362fe2fc9d14">ssub_qs16</a>(const_three, <a class="code" href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">smul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">smul_qs16</a>(x2, x2, fixed_point_position), fixed_point_position));</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  x2 = <a class="code" href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">smul_qs16</a>(x2, three_minus_dx, fixed_point_position) >> 1;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  }</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  temp = shift < 0 ? (x2 << ((-shift) >> 1)) : (x2 >> (shift >> 1));</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">return</span> temp;</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> }</div>
+<div class="fragment"><div class="line"><a name="l00246"></a><span class="lineno"> 246</span> {</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> shift = 16 - (fixed_point_position + (__builtin_clz(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) - 16));</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> const_three = (3 << fixed_point_position);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> temp = shift < 0 ? (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> << -shift) : (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> >> shift);</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> x2 = temp;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="comment">// We need three iterations to find the result</span></div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i < 3; ++i)</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  {</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> three_minus_dx = <a class="code" href="namespacearm__compute.xhtml#a70476eda2d46c943d572362fe2fc9d14">ssub_qs16</a>(const_three, <a class="code" href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">smul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">smul_qs16</a>(x2, x2, fixed_point_position), fixed_point_position));</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  x2 = <a class="code" href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">smul_qs16</a>(x2, three_minus_dx, fixed_point_position) >> 1;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  }</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  temp = shift < 0 ? (x2 << ((-shift) >> 1)) : (x2 >> (shift >> 1));</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">return</span> temp;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a7e6eff2c8b93f18002c06059b7e5b79a"><div class="ttname"><a href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">arm_compute::smul_qs16</a></div><div class="ttdeci">qint16_t smul_qs16(qint16_t a, qint16_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point scalar multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00165">FixedPoint.inl:165</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a70476eda2d46c943d572362fe2fc9d14"><div class="ttname"><a href="namespacearm__compute.xhtml#a70476eda2d46c943d572362fe2fc9d14">arm_compute::ssub_qs16</a></div><div class="ttdeci">qint16_t ssub_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar subtraction </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00130">FixedPoint.inl:130</a></div></div>
@@ -14505,7 +15247,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sinvsqrt_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -14540,26 +15282,9 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00225">225</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
<p>References <a class="el" href="_fixed_point_8inl_source.xhtml#l00153">smul_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00125">ssub_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span> {</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> shift = 8 - (fixed_point_position + (__builtin_clz(a) - 24));</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> const_three = (3 << fixed_point_position);</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> temp = shift < 0 ? (a << -shift) : (a >> shift);</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> x2 = temp;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="comment">// We need three iterations to find the result</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i < 3; ++i)</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  {</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> three_minus_dx = <a class="code" href="namespacearm__compute.xhtml#ab97841950d268532e51f28a208ddafd4">ssub_qs8</a>(const_three, <a class="code" href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">smul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">smul_qs8</a>(x2, x2, fixed_point_position), fixed_point_position));</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  x2 = (<a class="code" href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">smul_qs8</a>(x2, three_minus_dx, fixed_point_position) >> 1);</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  }</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  temp = shift < 0 ? (x2 << (-shift >> 1)) : (x2 >> (shift >> 1));</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keywordflow">return</span> temp;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_aec48f137adc904d648dd7eba0d828fab"><div class="ttname"><a href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">arm_compute::smul_qs8</a></div><div class="ttdeci">qint8_t smul_qs8(qint8_t a, qint8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point scalar multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00153">FixedPoint.inl:153</a></div></div>
+<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span> {</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> shift = 8 - (fixed_point_position + (__builtin_clz(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) - 24));</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> const_three = (3 << fixed_point_position);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> temp = shift < 0 ? (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> << -shift) : (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> >> shift);</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> x2 = temp;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="comment">// We need three iterations to find the result</span></div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i < 3; ++i)</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  {</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> three_minus_dx = <a class="code" href="namespacearm__compute.xhtml#ab97841950d268532e51f28a208ddafd4">ssub_qs8</a>(const_three, <a class="code" href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">smul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">smul_qs8</a>(x2, x2, fixed_point_position), fixed_point_position));</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  x2 = (<a class="code" href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">smul_qs8</a>(x2, three_minus_dx, fixed_point_position) >> 1);</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  }</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  temp = shift < 0 ? (x2 << (-shift >> 1)) : (x2 >> (shift >> 1));</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keywordflow">return</span> temp;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_aec48f137adc904d648dd7eba0d828fab"><div class="ttname"><a href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">arm_compute::smul_qs8</a></div><div class="ttdeci">qint8_t smul_qs8(qint8_t a, qint8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point scalar multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00153">FixedPoint.inl:153</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab97841950d268532e51f28a208ddafd4"><div class="ttname"><a href="namespacearm__compute.xhtml#ab97841950d268532e51f28a208ddafd4">arm_compute::ssub_qs8</a></div><div class="ttdeci">qint8_t ssub_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar subtraction </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00125">FixedPoint.inl:125</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
</div><!-- fragment -->
</div>
@@ -14574,7 +15299,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> slog_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -14609,38 +15334,8 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00356">356</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00093">sadd_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00271">sdiv_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00165">smul_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00107">sqadd_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00189">sqmul_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00130">ssub_qs16()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00357"></a><span class="lineno"> 357</span> {</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="comment">// Constants</span></div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> const_one = (1 << fixed_point_position);</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> ln2 = (0x58B9 >> (7 - fixed_point_position));</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = (0x5C0F >> (7 - fixed_point_position - 1));</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = -(0x56AE >> (7 - fixed_point_position));</div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> C = (0x2933 >> (7 - fixed_point_position));</div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> D = -(0x0AA7 >> (7 - fixed_point_position));</div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keywordflow">if</span>((const_one == a) || (a < 0))</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  {</div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  }</div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(a < const_one)</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  {</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="keywordflow">return</span> -<a class="code" href="namespacearm__compute.xhtml#ad45601a3c0f1d9f6210041651f4e2f4b">slog_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a62b21ae2dd27770147d5b7c265fa534c">sdiv_qs16</a>(const_one, a, fixed_point_position), fixed_point_position);</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  }</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="comment">// Remove even powers of 2</span></div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> shift_val = 31 - __builtin_clz(a >> fixed_point_position);</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  a >>= shift_val;</div>
-<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  a = <a class="code" href="namespacearm__compute.xhtml#a70476eda2d46c943d572362fe2fc9d14">ssub_qs16</a>(a, const_one);</div>
-<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="comment">// Polynomial expansion</span></div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(a, D, fixed_point_position), C);</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  sum = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(a, sum, fixed_point_position), B);</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  sum = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(a, sum, fixed_point_position), A);</div>
-<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  sum = <a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(a, sum, fixed_point_position);</div>
-<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">smul_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#ab30659aa2125bd5857547d424e601e34">sadd_qs16</a>(sum, shift_val << fixed_point_position), ln2, fixed_point_position);</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<div class="fragment"><div class="line"><a name="l00357"></a><span class="lineno"> 357</span> {</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="comment">// Constants</span></div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> const_one = (1 << fixed_point_position);</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> ln2 = (0x58B9 >> (7 - fixed_point_position));</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = (0x5C0F >> (7 - fixed_point_position - 1));</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = -(0x56AE >> (7 - fixed_point_position));</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> C = (0x2933 >> (7 - fixed_point_position));</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> D = -(0x0AA7 >> (7 - fixed_point_position));</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keywordflow">if</span>((const_one == <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) || (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> < 0))</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  {</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  }</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> < const_one)</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  {</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="keywordflow">return</span> -<a class="code" href="namespacearm__compute.xhtml#ad45601a3c0f1d9f6210041651f4e2f4b">slog_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a62b21ae2dd27770147d5b7c265fa534c">sdiv_qs16</a>(const_one, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, fixed_point_position), fixed_point_position);</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  }</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="comment">// Remove even powers of 2</span></div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> shift_val = 31 - __builtin_clz(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> >> fixed_point_position);</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> >>= shift_val;</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> = <a class="code" href="namespacearm__compute.xhtml#a70476eda2d46c943d572362fe2fc9d14">ssub_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, const_one);</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="comment">// Polynomial expansion</span></div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, D, fixed_point_position), C);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  sum = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, sum, fixed_point_position), B);</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  sum = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, sum, fixed_point_position), A);</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  sum = <a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, sum, fixed_point_position);</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a7e6eff2c8b93f18002c06059b7e5b79a">smul_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#ab30659aa2125bd5857547d424e601e34">sadd_qs16</a>(sum, shift_val << fixed_point_position), ln2, fixed_point_position);</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a62b21ae2dd27770147d5b7c265fa534c"><div class="ttname"><a href="namespacearm__compute.xhtml#a62b21ae2dd27770147d5b7c265fa534c">arm_compute::sdiv_qs16</a></div><div class="ttdeci">qint16_t sdiv_qs16(qint16_t a, qint16_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point scalar division </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00271">FixedPoint.inl:271</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a></div><div class="ttdoc">Blue channel. </div></div>
<div class="ttc" id="reduction__operation_8cl_xhtml_ab0df00f5333da51860deb93deb44a782"><div class="ttname"><a href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a></div><div class="ttdeci">DATA_TYPE sum(__global const DATA_TYPE *input)</div><div class="ttdoc">Calculate sum of a vector. </div><div class="ttdef"><b>Definition:</b> <a href="reduction__operation_8cl_source.xhtml#l00052">reduction_operation.cl:52</a></div></div>
@@ -14664,7 +15359,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> slog_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -14699,40 +15394,10 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00323">323</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00088">sadd_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00265">sdiv_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00153">smul_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00098">sqadd_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00177">sqmul_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00125">ssub_qs8()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00324"></a><span class="lineno"> 324</span> {</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="comment">// Constants</span></div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> const_one = (1 << fixed_point_position);</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> ln2 = (0x58 >> (7 - fixed_point_position));</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = (0x5C >> (7 - fixed_point_position - 1));</div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = -(0x56 >> (7 - fixed_point_position));</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> C = (0x29 >> (7 - fixed_point_position));</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> D = -(0x0A >> (7 - fixed_point_position));</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keywordflow">if</span>((const_one == a) || (a < 0))</div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  {</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  }</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(a < const_one)</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  {</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">return</span> -<a class="code" href="namespacearm__compute.xhtml#a596a7e3c63f80e67ea7cb713e8fc9992">slog_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#ae39636f0e83dd3b854b89181a230216f">sdiv_qs8</a>(const_one, a, fixed_point_position), fixed_point_position);</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  }</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="comment">// Remove even powers of 2</span></div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> shift_val = 31 - __builtin_clz(a >> fixed_point_position);</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  a >>= shift_val;</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  a = <a class="code" href="namespacearm__compute.xhtml#ab97841950d268532e51f28a208ddafd4">ssub_qs8</a>(a, const_one);</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="comment">// Polynomial expansion</span></div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(a, D, fixed_point_position), C);</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  sum = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(a, sum, fixed_point_position), B);</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  sum = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(a, sum, fixed_point_position), A);</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  sum = <a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(a, sum, fixed_point_position);</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">smul_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#aa8cee074ec68e2ae7830a9472efd8429">sadd_qs8</a>(sum, shift_val << fixed_point_position), ln2, fixed_point_position);</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<div class="fragment"><div class="line"><a name="l00324"></a><span class="lineno"> 324</span> {</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="comment">// Constants</span></div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> const_one = (1 << fixed_point_position);</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> ln2 = (0x58 >> (7 - fixed_point_position));</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = (0x5C >> (7 - fixed_point_position - 1));</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = -(0x56 >> (7 - fixed_point_position));</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> C = (0x29 >> (7 - fixed_point_position));</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> D = -(0x0A >> (7 - fixed_point_position));</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keywordflow">if</span>((const_one == <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) || (<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> < 0))</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  {</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  }</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> < const_one)</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  {</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">return</span> -<a class="code" href="namespacearm__compute.xhtml#a596a7e3c63f80e67ea7cb713e8fc9992">slog_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#ae39636f0e83dd3b854b89181a230216f">sdiv_qs8</a>(const_one, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, fixed_point_position), fixed_point_position);</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  }</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="comment">// Remove even powers of 2</span></div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> shift_val = 31 - __builtin_clz(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> >> fixed_point_position);</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> >>= shift_val;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> = <a class="code" href="namespacearm__compute.xhtml#ab97841950d268532e51f28a208ddafd4">ssub_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, const_one);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="comment">// Polynomial expansion</span></div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, D, fixed_point_position), C);</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  sum = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, sum, fixed_point_position), B);</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  sum = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, sum, fixed_point_position), A);</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  sum = <a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, sum, fixed_point_position);</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">smul_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#aa8cee074ec68e2ae7830a9472efd8429">sadd_qs8</a>(sum, shift_val << fixed_point_position), ln2, fixed_point_position);</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_aec48f137adc904d648dd7eba0d828fab"><div class="ttname"><a href="namespacearm__compute.xhtml#aec48f137adc904d648dd7eba0d828fab">arm_compute::smul_qs8</a></div><div class="ttdeci">qint8_t smul_qs8(qint8_t a, qint8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point scalar multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00153">FixedPoint.inl:153</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab97841950d268532e51f28a208ddafd4"><div class="ttname"><a href="namespacearm__compute.xhtml#ab97841950d268532e51f28a208ddafd4">arm_compute::ssub_qs8</a></div><div class="ttdeci">qint8_t ssub_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar subtraction </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00125">FixedPoint.inl:125</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a></div><div class="ttdoc">Blue channel. </div></div>
<div class="ttc" id="reduction__operation_8cl_xhtml_ab0df00f5333da51860deb93deb44a782"><div class="ttname"><a href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a></div><div class="ttdeci">DATA_TYPE sum(__global const DATA_TYPE *input)</div><div class="ttdoc">Calculate sum of a vector. </div><div class="ttdef"><b>Definition:</b> <a href="reduction__operation_8cl_source.xhtml#l00052">reduction_operation.cl:52</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_aa8cee074ec68e2ae7830a9472efd8429"><div class="ttname"><a href="namespacearm__compute.xhtml#aa8cee074ec68e2ae7830a9472efd8429">arm_compute::sadd_qs8</a></div><div class="ttdeci">qint8_t sadd_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00088">FixedPoint.inl:88</a></div></div>
@@ -14754,13 +15419,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> smul_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
@@ -14795,19 +15460,13 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00165">165</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::a</a>.</p>
+
<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00245">sinvsqrt_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00356">slog_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> {</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> round_up_const = (1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">></span>(a) * static_cast<qint32_t>(b);</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="comment">// Rounding up</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  tmp += round_up_const;</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">></span>(tmp >> fixed_point_position);</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> }</div>
+<div class="fragment"><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> {</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> round_up_const = (1 << (fixed_point_position - 1));</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">></span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) * static_cast<qint32_t>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="comment">// Rounding up</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  tmp += round_up_const;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">></span>(tmp >> fixed_point_position);</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -14821,13 +15480,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> smul_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
@@ -14862,19 +15521,13 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00153">153</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::a</a>.</p>
+
<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00225">sinvsqrt_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00323">slog_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> {</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> round_up_const = (1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">></span>(a) * static_cast<qint16_t>(b);</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="comment">// Rounding up</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  tmp += round_up_const;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a><span class="keyword">></span>(tmp >> fixed_point_position);</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> }</div>
+<div class="fragment"><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> {</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> round_up_const = (1 << (fixed_point_position - 1));</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">></span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) * static_cast<qint16_t>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="comment">// Rounding up</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  tmp += round_up_const;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a><span class="keyword">></span>(tmp >> fixed_point_position);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -14888,13 +15541,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqadd_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -14922,15 +15575,12 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00107">107</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::a</a>.</p>
+
<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00356">slog_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00300">sqexp_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00071">sshr_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> {</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="comment">// We need to store the temporary result in qint32_t otherwise we cannot evaluate the overflow</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = (<span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">></span>(a) + static_cast<qint32_t>(b));</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="comment">// Saturate the result in case of overflow and cast to qint16_t</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">return</span> saturate_convert<qint32_t, qint16_t>(tmp);</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> }</div>
+<div class="fragment"><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> {</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="comment">// We need to store the temporary result in qint32_t otherwise we cannot evaluate the overflow</span></div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = (<span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">></span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) + static_cast<qint32_t>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>));</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="comment">// Saturate the result in case of overflow and cast to qint16_t</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">return</span> saturate_convert<qint32_t, qint16_t>(tmp);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -14944,13 +15594,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> sqadd_qs32 </td>
<td>(</td>
- <td class="paramtype">qint32_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint32_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -14977,14 +15627,11 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 32 bit fixed point addition. The result is saturated in case of overflow </dd></dl>
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00116">116</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> {</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="comment">// We need to store the temporary result in qint64_t otherwise we cannot evaluate the overflow</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <a class="code" href="namespacearm__compute.xhtml#adc3be0bc3741b081217b2609abcf0333">qint64_t</a> tmp = (<span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#adc3be0bc3741b081217b2609abcf0333">qint64_t</a><span class="keyword">></span>(a) + static_cast<qint64_t>(b));</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="comment">// Saturate the result in case of overflow and cast to qint32_t</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">return</span> saturate_convert<qint64_t, qint32_t>(tmp);</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_adc3be0bc3741b081217b2609abcf0333"><div class="ttname"><a href="namespacearm__compute.xhtml#adc3be0bc3741b081217b2609abcf0333">arm_compute::qint64_t</a></div><div class="ttdeci">int64_t qint64_t</div><div class="ttdoc">64 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00032">FixedPoint.h:32</a></div></div>
+
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::a</a>.</p>
+<div class="fragment"><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> {</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="comment">// We need to store the temporary result in qint64_t otherwise we cannot evaluate the overflow</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <a class="code" href="namespacearm__compute.xhtml#adc3be0bc3741b081217b2609abcf0333">qint64_t</a> tmp = (<span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#adc3be0bc3741b081217b2609abcf0333">qint64_t</a><span class="keyword">></span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) + static_cast<qint64_t>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>));</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="comment">// Saturate the result in case of overflow and cast to qint32_t</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">return</span> saturate_convert<qint64_t, qint32_t>(tmp);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_adc3be0bc3741b081217b2609abcf0333"><div class="ttname"><a href="namespacearm__compute.xhtml#adc3be0bc3741b081217b2609abcf0333">arm_compute::qint64_t</a></div><div class="ttdeci">int64_t qint64_t</div><div class="ttdoc">64 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00032">FixedPoint.h:32</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -14998,13 +15645,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqadd_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -15032,15 +15679,71 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00098">98</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::a</a>.</p>
+
<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00323">slog_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00277">sqexp_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00064">sshr_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> {</div>
-<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="comment">// We need to store the temporary result in qint16_t otherwise we cannot evaluate the overflow</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = (<span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">></span>(a) + static_cast<qint16_t>(b));</div>
-<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="comment">// Saturate the result in case of overflow and cast to qint8_t</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">return</span> saturate_convert<qint16_t, qint8_t>(tmp);</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> }</div>
+<div class="fragment"><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="comment">// We need to store the temporary result in qint16_t otherwise we cannot evaluate the overflow</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = (<span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">></span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) + static_cast<qint16_t>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>));</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="comment">// Saturate the result in case of overflow and cast to qint8_t</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">return</span> saturate_convert<qint16_t, qint8_t>(tmp);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="af58ed9dce099d48202110cd40e793dca"></a>
+<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="namespacearm__compute.xhtml#ab8938bcb3ec0f5f8d93285eb3a28b701">qasymm8_t</a> arm_compute::sqcvt_qasymm8_f32 </td>
+ <td>(</td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>value</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float </td>
+ <td class="paramname"><em>scale</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int </td>
+ <td class="paramname"><em>offset</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> </td>
+ <td class="paramname"><em>rounding_policy</em> = <code><a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50bea8c0084566b290fa9e5e429f4ae241f95">RoundingPolicy::TO_NEAREST_UP</a></code> </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>Definition at line <a class="el" href="_q_asymm8_8inl_source.xhtml#l00029">29</a> of file <a class="el" href="_q_asymm8_8inl_source.xhtml">QAsymm8.inl</a>.</p>
+
+<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">arm_compute::test::fixed_point_arithmetic::detail::min()</a>, <a class="el" href="helpers_8h_source.xhtml#l00301">offset()</a>, <a class="el" href="namespacearm__compute.xhtml#a6452ac376d4adb94d93a93d678bb6757">round()</a>, and <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00176">arm_compute::test::validation::rounding_policy</a>.</p>
+
+<p>Referenced by <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00135">QuantizationInfo::quantize()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> {</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  <span class="keywordtype">int</span> quantized = <a class="code" href="namespacearm__compute.xhtml#a6452ac376d4adb94d93a93d678bb6757">arm_compute::round</a>(<a class="code" href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a> / <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#acec6d8ad52a28972fa74e071c1a63b6a">scale</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a60ad1078faeaf3f59266d69ad937339f">rounding_policy</a>) + <a class="code" href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a>;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  quantized = <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::max</a>(0, <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">std::min</a>(quantized, 255));</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <span class="keywordflow">return</span> quantized;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_aabcf39e3917f842dbc5fbb0d802f24d5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#aabcf39e3917f842dbc5fbb0d802f24d5">arm_compute::test::fixed_point_arithmetic::detail::min</a></div><div class="ttdeci">fixed_point< T > min(fixed_point< T > x, fixed_point< T > y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00884">FixedPoint.h:884</a></div></div>
+<div class="ttc" id="helpers_8h_xhtml_a009469e4d9b8fce3b6d5e97d2077827d"><div class="ttname"><a href="helpers_8h.xhtml#a009469e4d9b8fce3b6d5e97d2077827d">offset</a></div><div class="ttdeci">__global uchar * offset(const Image *img, int x, int y)</div><div class="ttdoc">Get the pointer position of a Image. </div><div class="ttdef"><b>Definition:</b> <a href="helpers_8h_source.xhtml#l00301">helpers.h:301</a></div></div>
+<div class="ttc" id="hwc_8hpp_xhtml_a0f61d63b009d0880a89c843bd50d8d76"><div class="ttname"><a href="hwc_8hpp.xhtml#a0f61d63b009d0880a89c843bd50d8d76">value</a></div><div class="ttdeci">void * value</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00269">hwc.hpp:269</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_acec6d8ad52a28972fa74e071c1a63b6a"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#acec6d8ad52a28972fa74e071c1a63b6a">arm_compute::test::validation::scale</a></div><div class="ttdeci">scale</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00176">PixelWiseMultiplication.cpp:176</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a60ad1078faeaf3f59266d69ad937339f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a60ad1078faeaf3f59266d69ad937339f">arm_compute::test::validation::rounding_policy</a></div><div class="ttdeci">rounding_policy</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00176">PixelWiseMultiplication.cpp:176</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a6452ac376d4adb94d93a93d678bb6757"><div class="ttname"><a href="namespacearm__compute.xhtml#a6452ac376d4adb94d93a93d678bb6757">arm_compute::round</a></div><div class="ttdeci">int round(float x, RoundingPolicy rounding_policy)</div><div class="ttdoc">Return a rounded value of x. </div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point< T > max(fixed_point< T > x, fixed_point< T > y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">FixedPoint.h:889</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -15087,10 +15790,7 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the conversion float -> 16 bit fixed point </dd></dl>
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00405">405</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00406"></a><span class="lineno"> 406</span> {</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  <span class="comment">// round_nearest_integer(a * 2^(fixed_point_position))</span></div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <span class="keywordflow">return</span> saturate_convert<float, qint16_t>(a * (1 << fixed_point_position) + ((a >= 0) ? 0.5 : -0.5));</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> }</div>
+<div class="fragment"><div class="line"><a name="l00406"></a><span class="lineno"> 406</span> {</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  <span class="comment">// round_nearest_integer(a * 2^(fixed_point_position))</span></div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <span class="keywordflow">return</span> saturate_convert<float, qint16_t>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> * (1 << fixed_point_position) + ((<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> >= 0) ? 0.5 : -0.5));</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -15137,10 +15837,7 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the conversion float -> 8 bit fixed point </dd></dl>
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00394">394</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00395"></a><span class="lineno"> 395</span> {</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="comment">// round_nearest_integer(a * 2^(fixed_point_position))</span></div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  <span class="keywordflow">return</span> saturate_convert<float, qint8_t>(a * (1 << fixed_point_position) + ((a >= 0) ? 0.5 : -0.5));</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> }</div>
+<div class="fragment"><div class="line"><a name="l00395"></a><span class="lineno"> 395</span> {</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="comment">// round_nearest_integer(a * 2^(fixed_point_position))</span></div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  <span class="keywordflow">return</span> saturate_convert<float, qint8_t>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> * (1 << fixed_point_position) + ((<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> >= 0) ? 0.5 : -0.5));</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -15154,7 +15851,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqexp_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -15188,36 +15885,17 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00300">300</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00083">sabs_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00107">sqadd_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00189">sqmul_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00056">sqshl_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00144">sqsub_qs16()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00301"></a><span class="lineno"> 301</span> {</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="comment">// Constants</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> const_one = (1 << fixed_point_position);</div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> ln2 = ((0x58B9 >> (14 - fixed_point_position)) + 1) >> 1;</div>
-<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> inv_ln2 = (((0x38AA >> (14 - fixed_point_position)) + 1) >> 1) | const_one;</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = ((0x7FBA >> (14 - fixed_point_position)) + 1) >> 1;</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = ((0x3FE9 >> (14 - fixed_point_position)) + 1) >> 1;</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> C = ((0x1693 >> (14 - fixed_point_position)) + 1) >> 1;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> D = ((0x0592 >> (14 - fixed_point_position)) + 1) >> 1;</div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="comment">// Polynomial expansion</span></div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> dec_a = (<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(a, inv_ln2, fixed_point_position) >> fixed_point_position);</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> alpha = <a class="code" href="namespacearm__compute.xhtml#a5d49ea329c81268d6e12031f6f13f1eb">sabs_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a217e5c603560d6f73971983c6d1572a1">sqsub_qs16</a>(a, <a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(ln2, <a class="code" href="namespacearm__compute.xhtml#a383b9d12f86c35ceed6dd5922439aa4c">sqshl_qs16</a>(dec_a, fixed_point_position), fixed_point_position)));</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(alpha, D, fixed_point_position), C);</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  sum = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(alpha, sum, fixed_point_position), B);</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  sum = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(alpha, sum, fixed_point_position), A);</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  sum = <a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(alpha, sum, fixed_point_position);</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  sum = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(sum, const_one);</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> </div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordflow">return</span> (dec_a < 0) ? (sum >> -dec_a) : <a class="code" href="namespacearm__compute.xhtml#a383b9d12f86c35ceed6dd5922439aa4c">sqshl_qs16</a>(sum, dec_a);</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00109">arm_compute::test::validation::alpha</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00083">sabs_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00107">sqadd_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00189">sqmul_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00056">sqshl_qs16()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00144">sqsub_qs16()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00301"></a><span class="lineno"> 301</span> {</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="comment">// Constants</span></div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> const_one = (1 << fixed_point_position);</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> ln2 = ((0x58B9 >> (14 - fixed_point_position)) + 1) >> 1;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> inv_ln2 = (((0x38AA >> (14 - fixed_point_position)) + 1) >> 1) | const_one;</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = ((0x7FBA >> (14 - fixed_point_position)) + 1) >> 1;</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = ((0x3FE9 >> (14 - fixed_point_position)) + 1) >> 1;</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> C = ((0x1693 >> (14 - fixed_point_position)) + 1) >> 1;</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> D = ((0x0592 >> (14 - fixed_point_position)) + 1) >> 1;</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="comment">// Polynomial expansion</span></div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> dec_a = (<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, inv_ln2, fixed_point_position) >> fixed_point_position);</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> = <a class="code" href="namespacearm__compute.xhtml#a5d49ea329c81268d6e12031f6f13f1eb">sabs_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a217e5c603560d6f73971983c6d1572a1">sqsub_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(ln2, <a class="code" href="namespacearm__compute.xhtml#a383b9d12f86c35ceed6dd5922439aa4c">sqshl_qs16</a>(dec_a, fixed_point_position), fixed_point_position)));</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(alpha, D, fixed_point_position), C);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  sum = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(alpha, sum, fixed_point_position), B);</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  sum = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(alpha, sum, fixed_point_position), A);</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  sum = <a class="code" href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">sqmul_qs16</a>(alpha, sum, fixed_point_position);</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  sum = <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(sum, const_one);</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span> </div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordflow">return</span> (dec_a < 0) ? (sum >> -dec_a) : <a class="code" href="namespacearm__compute.xhtml#a383b9d12f86c35ceed6dd5922439aa4c">sqshl_qs16</a>(sum, dec_a);</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5d49ea329c81268d6e12031f6f13f1eb"><div class="ttname"><a href="namespacearm__compute.xhtml#a5d49ea329c81268d6e12031f6f13f1eb">arm_compute::sabs_qs16</a></div><div class="ttdeci">qint16_t sabs_qs16(qint16_t a)</div><div class="ttdoc">16 bit fixed point scalar absolute value </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00083">FixedPoint.inl:83</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a></div><div class="ttdoc">Blue channel. </div></div>
<div class="ttc" id="reduction__operation_8cl_xhtml_ab0df00f5333da51860deb93deb44a782"><div class="ttname"><a href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a></div><div class="ttdeci">DATA_TYPE sum(__global const DATA_TYPE *input)</div><div class="ttdoc">Calculate sum of a vector. </div><div class="ttdef"><b>Definition:</b> <a href="reduction__operation_8cl_source.xhtml#l00052">reduction_operation.cl:52</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a383b9d12f86c35ceed6dd5922439aa4c"><div class="ttname"><a href="namespacearm__compute.xhtml#a383b9d12f86c35ceed6dd5922439aa4c">arm_compute::sqshl_qs16</a></div><div class="ttdeci">qint16_t sqshl_qs16(qint16_t a, int shift)</div><div class="ttdoc">16 bit fixed point scalar saturating shift left </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00056">FixedPoint.inl:56</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a45669fcc0f31fce521179510e85dcb62"><div class="ttname"><a href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">arm_compute::sqadd_qs16</a></div><div class="ttdeci">qint16_t sqadd_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar saturating add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00107">FixedPoint.inl:107</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a217e5c603560d6f73971983c6d1572a1"><div class="ttname"><a href="namespacearm__compute.xhtml#a217e5c603560d6f73971983c6d1572a1">arm_compute::sqsub_qs16</a></div><div class="ttdeci">qint16_t sqsub_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar saturating subtraction </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00144">FixedPoint.inl:144</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00109">GEMM.cpp:109</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a55c8a365b4242664f8c0f19e91bcee92"><div class="ttname"><a href="namespacearm__compute.xhtml#a55c8a365b4242664f8c0f19e91bcee92">arm_compute::sqmul_qs16</a></div><div class="ttdeci">qint16_t sqmul_qs16(qint16_t a, qint16_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point scalar saturating multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00189">FixedPoint.inl:189</a></div></div>
</div><!-- fragment -->
</div>
@@ -15232,7 +15910,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqexp_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -15266,35 +15944,16 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00277">277</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00078">sabs_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00098">sqadd_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00177">sqmul_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00048">sqshl_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00135">sqsub_qs8()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00278"></a><span class="lineno"> 278</span> {</div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="comment">// Constants</span></div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> const_one = (1 << fixed_point_position);</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> ln2 = ((0x58 >> (6 - fixed_point_position)) + 1) >> 1;</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> inv_ln2 = (((0x38 >> (6 - fixed_point_position)) + 1) >> 1) | const_one;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = ((0x7F >> (6 - fixed_point_position)) + 1) >> 1;</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = ((0x3F >> (6 - fixed_point_position)) + 1) >> 1;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> C = ((0x16 >> (6 - fixed_point_position)) + 1) >> 1;</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> D = ((0x05 >> (6 - fixed_point_position)) + 1) >> 1;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="comment">// Polynomial expansion</span></div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> dec_a = (<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(a, inv_ln2, fixed_point_position) >> fixed_point_position);</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> alpha = <a class="code" href="namespacearm__compute.xhtml#a43315c66c4d00207f70143233b189085">sabs_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#ae74bbb6e25cc1b774428722b2faad00c">sqsub_qs8</a>(a, <a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(ln2, <a class="code" href="namespacearm__compute.xhtml#a203882febb616f5468d1b63b60ffb331">sqshl_qs8</a>(dec_a, fixed_point_position), fixed_point_position)));</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(alpha, D, fixed_point_position), C);</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  sum = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(alpha, sum, fixed_point_position), B);</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  sum = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(alpha, sum, fixed_point_position), A);</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  sum = <a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(alpha, sum, fixed_point_position);</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  sum = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(sum, const_one);</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keywordflow">return</span> (dec_a < 0) ? (sum >> -dec_a) : <a class="code" href="namespacearm__compute.xhtml#a203882febb616f5468d1b63b60ffb331">sqshl_qs8</a>(sum, dec_a);</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00109">arm_compute::test::validation::alpha</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00078">sabs_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00098">sqadd_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00177">sqmul_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00048">sqshl_qs8()</a>, <a class="el" href="_fixed_point_8inl_source.xhtml#l00135">sqsub_qs8()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00278"></a><span class="lineno"> 278</span> {</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="comment">// Constants</span></div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> const_one = (1 << fixed_point_position);</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> ln2 = ((0x58 >> (6 - fixed_point_position)) + 1) >> 1;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> inv_ln2 = (((0x38 >> (6 - fixed_point_position)) + 1) >> 1) | const_one;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = ((0x7F >> (6 - fixed_point_position)) + 1) >> 1;</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = ((0x3F >> (6 - fixed_point_position)) + 1) >> 1;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> C = ((0x16 >> (6 - fixed_point_position)) + 1) >> 1;</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> D = ((0x05 >> (6 - fixed_point_position)) + 1) >> 1;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="comment">// Polynomial expansion</span></div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> dec_a = (<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, inv_ln2, fixed_point_position) >> fixed_point_position);</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> = <a class="code" href="namespacearm__compute.xhtml#a43315c66c4d00207f70143233b189085">sabs_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#ae74bbb6e25cc1b774428722b2faad00c">sqsub_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(ln2, <a class="code" href="namespacearm__compute.xhtml#a203882febb616f5468d1b63b60ffb331">sqshl_qs8</a>(dec_a, fixed_point_position), fixed_point_position)));</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(alpha, D, fixed_point_position), C);</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  sum = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(alpha, sum, fixed_point_position), B);</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  sum = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(alpha, sum, fixed_point_position), A);</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  sum = <a class="code" href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">sqmul_qs8</a>(alpha, sum, fixed_point_position);</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  sum = <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(sum, const_one);</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keywordflow">return</span> (dec_a < 0) ? (sum >> -dec_a) : <a class="code" href="namespacearm__compute.xhtml#a203882febb616f5468d1b63b60ffb331">sqshl_qs8</a>(sum, dec_a);</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a></div><div class="ttdoc">Blue channel. </div></div>
<div class="ttc" id="reduction__operation_8cl_xhtml_ab0df00f5333da51860deb93deb44a782"><div class="ttname"><a href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a></div><div class="ttdeci">DATA_TYPE sum(__global const DATA_TYPE *input)</div><div class="ttdoc">Calculate sum of a vector. </div><div class="ttdef"><b>Definition:</b> <a href="reduction__operation_8cl_source.xhtml#l00052">reduction_operation.cl:52</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a203882febb616f5468d1b63b60ffb331"><div class="ttname"><a href="namespacearm__compute.xhtml#a203882febb616f5468d1b63b60ffb331">arm_compute::sqshl_qs8</a></div><div class="ttdeci">qint8_t sqshl_qs8(qint8_t a, int shift)</div><div class="ttdoc">8 bit fixed point scalar saturating shift left </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00048">FixedPoint.inl:48</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ae74bbb6e25cc1b774428722b2faad00c"><div class="ttname"><a href="namespacearm__compute.xhtml#ae74bbb6e25cc1b774428722b2faad00c">arm_compute::sqsub_qs8</a></div><div class="ttdeci">qint8_t sqsub_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar saturating subtraction </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00135">FixedPoint.inl:135</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_af0b73b0c4980a551d7cd4edec43ffd92"><div class="ttname"><a href="namespacearm__compute.xhtml#af0b73b0c4980a551d7cd4edec43ffd92">arm_compute::sqmul_qs8</a></div><div class="ttdeci">qint8_t sqmul_qs8(qint8_t a, qint8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point scalar saturating multiply </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00177">FixedPoint.inl:177</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00109">GEMM.cpp:109</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a43315c66c4d00207f70143233b189085"><div class="ttname"><a href="namespacearm__compute.xhtml#a43315c66c4d00207f70143233b189085">arm_compute::sabs_qs8</a></div><div class="ttdeci">qint8_t sabs_qs8(qint8_t a)</div><div class="ttdoc">8 bit fixed point scalar absolute value </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00078">FixedPoint.inl:78</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a532d90e007d0cb6f3d43107229c40c32"><div class="ttname"><a href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">arm_compute::sqadd_qs8</a></div><div class="ttdeci">qint8_t sqadd_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar saturating add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00098">FixedPoint.inl:98</a></div></div>
</div><!-- fragment -->
@@ -15310,7 +15969,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqmovn_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -15332,10 +15991,9 @@
<dl class="section return"><dt>Returns</dt><dd>The narrowing conversion to 8 bit </dd></dl>
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00411">411</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00412"></a><span class="lineno"> 412</span> {</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <span class="comment">// Saturate the result in case of overflow and cast to qint8_t</span></div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <span class="keywordflow">return</span> saturate_convert<qint16_t, qint8_t>(a);</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> }</div>
+
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::a</a>.</p>
+<div class="fragment"><div class="line"><a name="l00412"></a><span class="lineno"> 412</span> {</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <span class="comment">// Saturate the result in case of overflow and cast to qint8_t</span></div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <span class="keywordflow">return</span> saturate_convert<qint16_t, qint8_t>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -15349,7 +16007,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqmovn_qs32 </td>
<td>(</td>
- <td class="paramtype">qint32_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -15371,10 +16029,9 @@
<dl class="section return"><dt>Returns</dt><dd>The narrowing conversion to 16 bit </dd></dl>
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00417">417</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00418"></a><span class="lineno"> 418</span> {</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <span class="comment">// Saturate the result in case of overflow and cast to qint16_t</span></div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="keywordflow">return</span> saturate_convert<qint32_t, qint16_t>(a);</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> }</div>
+
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::a</a>.</p>
+<div class="fragment"><div class="line"><a name="l00418"></a><span class="lineno"> 418</span> {</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <span class="comment">// Saturate the result in case of overflow and cast to qint16_t</span></div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="keywordflow">return</span> saturate_convert<qint32_t, qint16_t>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -15388,13 +16045,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqmul_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
@@ -15429,18 +16086,12 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00189">189</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::a</a>.</p>
+
<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00356">slog_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00300">sqexp_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00190"></a><span class="lineno"> 190</span> {</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> round_up_const = (1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">></span>(a) * static_cast<qint32_t>(b);</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="comment">// Rounding up</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  tmp += round_up_const;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keywordflow">return</span> saturate_convert<qint32_t, qint16_t>(tmp >> fixed_point_position);</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> }</div>
+<div class="fragment"><div class="line"><a name="l00190"></a><span class="lineno"> 190</span> {</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> round_up_const = (1 << (fixed_point_position - 1));</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">></span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) * static_cast<qint32_t>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="comment">// Rounding up</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  tmp += round_up_const;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keywordflow">return</span> saturate_convert<qint32_t, qint16_t>(tmp >> fixed_point_position);</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -15454,13 +16105,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqmul_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
@@ -15495,18 +16146,12 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00177">177</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::a</a>.</p>
+
<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00323">slog_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00277">sqexp_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00178"></a><span class="lineno"> 178</span> {</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> round_up_const = (1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">></span>(a) * static_cast<qint16_t>(b);</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="comment">// Rounding up</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  tmp += round_up_const;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">return</span> saturate_convert<qint16_t, qint8_t>(tmp >> fixed_point_position);</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> }</div>
+<div class="fragment"><div class="line"><a name="l00178"></a><span class="lineno"> 178</span> {</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> round_up_const = (1 << (fixed_point_position - 1));</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">></span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) * static_cast<qint16_t>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="comment">// Rounding up</span></div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  tmp += round_up_const;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">return</span> saturate_convert<qint16_t, qint8_t>(tmp >> fixed_point_position);</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -15520,13 +16165,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> sqmull_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
@@ -15560,17 +16205,11 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point multiplication long. The result is saturated in case of overflow </dd></dl>
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00213">213</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> {</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> round_up_const = (1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">></span>(a) * static_cast<qint32_t>(b);</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="comment">// Rounding up</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  tmp += round_up_const;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">return</span> tmp >> fixed_point_position;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> }</div>
+
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::a</a>.</p>
+<div class="fragment"><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> round_up_const = (1 << (fixed_point_position - 1));</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">></span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) * static_cast<qint32_t>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="comment">// Rounding up</span></div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  tmp += round_up_const;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">return</span> tmp >> fixed_point_position;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -15584,13 +16223,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqmull_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
@@ -15624,17 +16263,11 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point multiplication long. The result is saturated in case of overflow </dd></dl>
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00201">201</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span> {</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> round_up_const = (1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">></span>(a) * static_cast<qint16_t>(b);</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="comment">// Rounding up</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  tmp += round_up_const;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordflow">return</span> tmp >> fixed_point_position;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> }</div>
+
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::a</a>.</p>
+<div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span> {</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> round_up_const = (1 << (fixed_point_position - 1));</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">></span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) * static_cast<qint16_t>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="comment">// Rounding up</span></div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  tmp += round_up_const;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordflow">return</span> tmp >> fixed_point_position;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -15648,7 +16281,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqshl_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -15682,13 +16315,10 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00056">56</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::a</a>.</p>
+
<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00300">sqexp_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> {</div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">></span>(a) << shift;</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="comment">// Saturate the result in case of overflow and cast to qint16_t</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">return</span> saturate_convert<qint32_t, qint16_t>(tmp);</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> }</div>
+<div class="fragment"><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> {</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">></span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) << shift;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="comment">// Saturate the result in case of overflow and cast to qint16_t</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">return</span> saturate_convert<qint32_t, qint16_t>(tmp);</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
</div><!-- fragment -->
</div>
@@ -15703,7 +16333,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqshl_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -15737,13 +16367,10 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00048">48</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::a</a>.</p>
+
<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00277">sqexp_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> {</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">></span>(a) << shift;</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="comment">// Saturate the result in case of overflow and cast to qint8_t</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">return</span> saturate_convert<qint16_t, qint8_t>(tmp);</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> }</div>
+<div class="fragment"><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> {</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">></span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) << shift;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="comment">// Saturate the result in case of overflow and cast to qint8_t</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">return</span> saturate_convert<qint16_t, qint8_t>(tmp);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
</div><!-- fragment -->
</div>
@@ -15758,13 +16385,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sqsub_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -15792,15 +16419,12 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00144">144</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::a</a>.</p>
+
<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00300">sqexp_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> {</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="comment">// We need to store the temporary result in qint32_t otherwise we cannot evaluate the overflow</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">></span>(a) - static_cast<qint32_t>(b);</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="comment">// Saturate the result in case of overflow and cast to qint16_t</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">return</span> saturate_convert<qint32_t, qint16_t>(tmp);</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> }</div>
+<div class="fragment"><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> {</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="comment">// We need to store the temporary result in qint32_t otherwise we cannot evaluate the overflow</span></div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> tmp = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a><span class="keyword">></span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) - static_cast<qint32_t>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="comment">// Saturate the result in case of overflow and cast to qint16_t</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">return</span> saturate_convert<qint32_t, qint16_t>(tmp);</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_aa06c95f9976f3729316d689b4419089f"><div class="ttname"><a href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">arm_compute::qint32_t</a></div><div class="ttdeci">int32_t qint32_t</div><div class="ttdoc">32 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00031">FixedPoint.h:31</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -15814,13 +16438,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sqsub_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -15848,15 +16472,12 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00135">135</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">arm_compute::test::validation::a</a>.</p>
+
<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00277">sqexp_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> {</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="comment">// We need to store the temporary result in uint16_t otherwise we cannot evaluate the overflow</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">></span>(a) - static_cast<qint16_t>(b);</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="comment">// Saturate the result in case of overflow and cast to qint8_t</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">return</span> saturate_convert<qint16_t, qint8_t>(tmp);</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> }</div>
+<div class="fragment"><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> {</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="comment">// We need to store the temporary result in uint16_t otherwise we cannot evaluate the overflow</span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> tmp = <span class="keyword">static_cast<</span><a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a><span class="keyword">></span>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>) - static_cast<qint16_t>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="comment">// Saturate the result in case of overflow and cast to qint8_t</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">return</span> saturate_convert<qint16_t, qint8_t>(tmp);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -15870,7 +16491,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> sshr_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -15904,15 +16525,11 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00071">71</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00115">ARM_COMPUTE_ERROR_ON_MSG</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00107">sqadd_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> {</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(shift == 0, <span class="stringliteral">"Shift should not be zero"</span>);</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> round_val = 1 << (shift - 1);</div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(a, round_val) >> shift;</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> }</div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00297">ARM_COMPUTE_ERROR_ON_MSG</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00107">sqadd_qs16()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> {</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <a class="code" href="core_2_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(shift == 0, <span class="stringliteral">"Shift should not be zero"</span>);</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> round_val = 1 << (shift - 1);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">sqadd_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, round_val) >> shift;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1521eea74b97de8f2df9304e44179400"><div class="ttname"><a href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">arm_compute::qint16_t</a></div><div class="ttdeci">int16_t qint16_t</div><div class="ttdoc">16 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00030">FixedPoint.h:30</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a45669fcc0f31fce521179510e85dcb62"><div class="ttname"><a href="namespacearm__compute.xhtml#a45669fcc0f31fce521179510e85dcb62">arm_compute::sqadd_qs16</a></div><div class="ttdeci">qint16_t sqadd_qs16(qint16_t a, qint16_t b)</div><div class="ttdoc">16 bit fixed point scalar saturating add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00107">FixedPoint.inl:107</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a5bbdcf574d3f5e412fa6a1117911e67b"><div class="ttname"><a href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00115">Error.h:115</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_a5bbdcf574d3f5e412fa6a1117911e67b"><div class="ttname"><a href="core_2_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond,...)</div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00297">Error.h:297</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -15926,7 +16543,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> sshr_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -15960,15 +16577,11 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00064">64</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
-<p>References <a class="el" href="_error_8h_source.xhtml#l00115">ARM_COMPUTE_ERROR_ON_MSG</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00098">sqadd_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> {</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <a class="code" href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(shift == 0, <span class="stringliteral">"Shift should not be zero"</span>);</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> round_val = 1 << (shift - 1);</div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(a, round_val) >> shift;</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> }</div>
+<p>References <a class="el" href="core_2_error_8h_source.xhtml#l00297">ARM_COMPUTE_ERROR_ON_MSG</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00098">sqadd_qs8()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> {</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <a class="code" href="core_2_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a>(shift == 0, <span class="stringliteral">"Shift should not be zero"</span>);</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> round_val = 1 << (shift - 1);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">sqadd_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, round_val) >> shift;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4c3f681c30c9398c45bc3cd5dc4f038a"><div class="ttname"><a href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">arm_compute::qint8_t</a></div><div class="ttdeci">int8_t qint8_t</div><div class="ttdoc">8 bit fixed point scalar value </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_fixed_point_8h_source.xhtml#l00029">FixedPoint.h:29</a></div></div>
+<div class="ttc" id="core_2_error_8h_xhtml_a5bbdcf574d3f5e412fa6a1117911e67b"><div class="ttname"><a href="core_2_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond,...)</div><div class="ttdef"><b>Definition:</b> <a href="core_2_error_8h_source.xhtml#l00297">Error.h:297</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a532d90e007d0cb6f3d43107229c40c32"><div class="ttname"><a href="namespacearm__compute.xhtml#a532d90e007d0cb6f3d43107229c40c32">arm_compute::sqadd_qs8</a></div><div class="ttdeci">qint8_t sqadd_qs8(qint8_t a, qint8_t b)</div><div class="ttdoc">8 bit fixed point scalar saturating add </div><div class="ttdef"><b>Definition:</b> <a href="_fixed_point_8inl_source.xhtml#l00098">FixedPoint.inl:98</a></div></div>
-<div class="ttc" id="_error_8h_xhtml_a5bbdcf574d3f5e412fa6a1117911e67b"><div class="ttname"><a href="_error_8h.xhtml#a5bbdcf574d3f5e412fa6a1117911e67b">ARM_COMPUTE_ERROR_ON_MSG</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON_MSG(cond,...)</div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00115">Error.h:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -15982,13 +16595,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> ssub_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -16016,10 +16629,11 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00130">130</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">arm_compute::test::validation::b</a>.</p>
+
<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00245">sinvsqrt_qs16()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00356">slog_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> {</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordflow">return</span> a - b;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> }</div>
+<div class="fragment"><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> {</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -16033,13 +16647,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> ssub_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -16067,10 +16681,11 @@
<p>Definition at line <a class="el" href="_fixed_point_8inl_source.xhtml#l00125">125</a> of file <a class="el" href="_fixed_point_8inl_source.xhtml">FixedPoint.inl</a>.</p>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">arm_compute::test::validation::b</a>.</p>
+
<p>Referenced by <a class="el" href="_fixed_point_8inl_source.xhtml#l00225">sinvsqrt_qs8()</a>, and <a class="el" href="_fixed_point_8inl_source.xhtml#l00323">slog_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> {</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">return</span> a - b;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> }</div>
+<div class="fragment"><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> {</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> - <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -16081,7 +16696,7 @@
<tr>
<td class="memname">const std::string& arm_compute::string_from_activation_func </td>
<td>(</td>
- <td class="paramtype">ActivationLayerInfo::ActivationFunction </td>
+ <td class="paramtype"><a class="el" href="classarm__compute_1_1_activation_layer_info.xhtml#a56297e0f7b215eea46c818cb7528d9ea">ActivationLayerInfo::ActivationFunction</a> </td>
<td class="paramname"><em>act</em></td><td>)</td>
<td></td>
</tr>
@@ -16097,6 +16712,8 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string describing the activation function. </dd></dl>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00559">data_type_for_convolution_matrix()</a>.</p>
+
</div>
</div>
<a class="anchor" id="abd15add5c6c7de5c8205ce236875aadd"></a>
@@ -16106,7 +16723,7 @@
<tr>
<td class="memname">const std::string& arm_compute::string_from_border_mode </td>
<td>(</td>
- <td class="paramtype">BorderMode </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> </td>
<td class="paramname"><em>border_mode</em></td><td>)</td>
<td></td>
</tr>
@@ -16122,6 +16739,8 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string describing the border mode. </dd></dl>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00559">data_type_for_convolution_matrix()</a>.</p>
+
</div>
</div>
<a class="anchor" id="a106c203dd6af234d38452ea0ee7b2ddc"></a>
@@ -16131,7 +16750,7 @@
<tr>
<td class="memname">const std::string& arm_compute::string_from_channel </td>
<td>(</td>
- <td class="paramtype">Channel </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455a">Channel</a> </td>
<td class="paramname"><em>channel</em></td><td>)</td>
<td></td>
</tr>
@@ -16147,6 +16766,8 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string describing the channel. </dd></dl>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00559">data_type_for_convolution_matrix()</a>.</p>
+
</div>
</div>
<a class="anchor" id="aefa1d9648995e5eccc693c690e27aa88"></a>
@@ -16156,7 +16777,7 @@
<tr>
<td class="memname">const std::string& arm_compute::string_from_data_type </td>
<td>(</td>
- <td class="paramtype">DataType </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> </td>
<td class="paramname"><em>dt</em></td><td>)</td>
<td></td>
</tr>
@@ -16172,7 +16793,7 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string describing the data type. </dd></dl>
-<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00387">error_on_data_type_not_in()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00565">error_on_value_not_representable_in_fixed_point()</a>.</p>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00559">data_type_for_convolution_matrix()</a>, <a class="el" href="_validate_8h_source.xhtml#l00588">error_on_data_type_not_in()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00865">error_on_value_not_representable_in_fixed_point()</a>.</p>
</div>
</div>
@@ -16183,7 +16804,7 @@
<tr>
<td class="memname">const std::string& arm_compute::string_from_format </td>
<td>(</td>
- <td class="paramtype">Format </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> </td>
<td class="paramname"><em>format</em></td><td>)</td>
<td></td>
</tr>
@@ -16199,7 +16820,7 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string describing the format. </dd></dl>
-<p>Referenced by <a class="el" href="_validate_8h_source.xhtml#l00356">error_on_format_not_in()</a>.</p>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00559">data_type_for_convolution_matrix()</a>, and <a class="el" href="_validate_8h_source.xhtml#l00555">error_on_format_not_in()</a>.</p>
</div>
</div>
@@ -16210,7 +16831,7 @@
<tr>
<td class="memname">const std::string& arm_compute::string_from_interpolation_policy </td>
<td>(</td>
- <td class="paramtype">InterpolationPolicy </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> </td>
<td class="paramname"><em>policy</em></td><td>)</td>
<td></td>
</tr>
@@ -16226,6 +16847,8 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string describing the interpolation policy. </dd></dl>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00559">data_type_for_convolution_matrix()</a>.</p>
+
</div>
</div>
<a class="anchor" id="a018795ab2489d17309e158ff5c060ab1"></a>
@@ -16235,7 +16858,7 @@
<tr>
<td class="memname">const std::string& arm_compute::string_from_matrix_pattern </td>
<td>(</td>
- <td class="paramtype">MatrixPattern </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> </td>
<td class="paramname"><em>pattern</em></td><td>)</td>
<td></td>
</tr>
@@ -16251,6 +16874,8 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string describing the matrix pattern. </dd></dl>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00559">data_type_for_convolution_matrix()</a>.</p>
+
</div>
</div>
<a class="anchor" id="a14831547f57ecf5f0deef888ad41ad30"></a>
@@ -16260,7 +16885,7 @@
<tr>
<td class="memname">const std::string& arm_compute::string_from_non_linear_filter_function </td>
<td>(</td>
- <td class="paramtype">NonLinearFilterFunction </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> </td>
<td class="paramname"><em>function</em></td><td>)</td>
<td></td>
</tr>
@@ -16276,6 +16901,8 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string describing the non linear function. </dd></dl>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00559">data_type_for_convolution_matrix()</a>.</p>
+
</div>
</div>
<a class="anchor" id="afb5698af5404d5d11e3516c87b6e7041"></a>
@@ -16285,7 +16912,7 @@
<tr>
<td class="memname">const std::string& arm_compute::string_from_norm_type </td>
<td>(</td>
- <td class="paramtype">NormType </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> </td>
<td class="paramname"><em>type</em></td><td>)</td>
<td></td>
</tr>
@@ -16301,6 +16928,8 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string describing the normalization type. </dd></dl>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00559">data_type_for_convolution_matrix()</a>.</p>
+
</div>
</div>
<a class="anchor" id="a84a03e85d2c40bf54ec8cdd5e3715c58"></a>
@@ -16310,7 +16939,7 @@
<tr>
<td class="memname">const std::string& arm_compute::string_from_pooling_type </td>
<td>(</td>
- <td class="paramtype">PoolingType </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> </td>
<td class="paramname"><em>type</em></td><td>)</td>
<td></td>
</tr>
@@ -16326,6 +16955,8 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>The string describing the pooling type. </dd></dl>
+<p>Referenced by <a class="el" href="arm__compute_2core_2_utils_8h_source.xhtml#l00559">data_type_for_convolution_matrix()</a>.</p>
+
</div>
</div>
<a class="anchor" id="aa5191117dc677a74552769b87131b1b6"></a>
@@ -16335,7 +16966,7 @@
<tr>
<td class="memname">const std::string& arm_compute::string_from_scheduler_type </td>
<td>(</td>
- <td class="paramtype">Scheduler::Type </td>
+ <td class="paramtype"><a class="el" href="classarm__compute_1_1_scheduler.xhtml#a1d1cfd8ffb84e947f82999c682b666a7">Scheduler::Type</a> </td>
<td class="paramname"><em>t</em></td><td>)</td>
<td></td>
</tr>
@@ -16360,7 +16991,7 @@
<tr>
<td class="memname">const std::string& arm_compute::string_from_target </td>
<td>(</td>
- <td class="paramtype">GPUTarget </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> </td>
<td class="paramname"><em>target</em></td><td>)</td>
<td></td>
</tr>
@@ -16388,7 +17019,7 @@
<tr>
<td class="memname">std::string arm_compute::to_string </td>
<td>(</td>
- <td class="paramtype">const NonLinearFilterFunction & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#adf2ced65e536375a1c96425d9fced858">NonLinearFilterFunction</a> & </td>
<td class="paramname"><em>function</em></td><td>)</td>
<td></td>
</tr>
@@ -16400,14 +17031,12 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00078">78</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00079">79</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>Referenced by <a class="el" href="_u_n_i_t_2_fixed_point_8cpp_source.xhtml#l00067">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="main_8cpp_source.xhtml#l00059">main()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> {</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  std::stringstream str;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  str << <span class="keyword">function</span>;</div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordflow">return</span> str.str();</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> }</div>
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>.</p>
+
+<p>Referenced by <a class="el" href="_u_n_i_t_2_fixed_point_8cpp_source.xhtml#l00067">arm_compute::test::validation::DATA_TEST_CASE()</a>, and <a class="el" href="main_8cpp_source.xhtml#l00062">main()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  str << <span class="keyword">function</span>;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span> }</div><div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -16421,7 +17050,7 @@
<tr>
<td class="memname">std::string arm_compute::to_string </td>
<td>(</td>
- <td class="paramtype">const MatrixPattern & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#afdda916edc7502967bbec17ea3c06c02">MatrixPattern</a> & </td>
<td class="paramname"><em>pattern</em></td><td>)</td>
<td></td>
</tr>
@@ -16433,12 +17062,39 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00109">109</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> {</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  std::stringstream str;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  str << pattern;</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">return</span> str.str();</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> }</div>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00110">110</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>.</p>
+<div class="fragment"><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> {</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  str << pattern;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span> }</div><div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ad9fd48b3c01116b217a684aaeaf8b24f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">std::string arm_compute::to_string </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="structarm__compute_1_1_quantization_info.xhtml">QuantizationInfo</a> & </td>
+ <td class="paramname"><em>quantization_info</em></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>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00162">162</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>.</p>
+<div class="fragment"><div class="line"><a name="l00163"></a><span class="lineno"> 163</span> {</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  str << quantization_info;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span> }</div><div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -16452,7 +17108,7 @@
<tr>
<td class="memname">std::string arm_compute::to_string </td>
<td>(</td>
- <td class="paramtype">const FixedPointOp & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#afa20b6a7f4383003babd690f026f22dc">FixedPointOp</a> & </td>
<td class="paramname"><em>op</em></td><td>)</td>
<td></td>
</tr>
@@ -16464,12 +17120,10 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00185">185</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00186"></a><span class="lineno"> 186</span> {</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  std::stringstream str;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  str << op;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keywordflow">return</span> str.str();</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> }</div>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00201">201</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>.</p>
+<div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span> {</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  str << op;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> }</div><div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -16495,15 +17149,11 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00236">236</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00253">253</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00541">ActivationLayerInfo::activation()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00237"></a><span class="lineno"> 237</span> {</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  std::stringstream str;</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  str << info.<a class="code" href="classarm__compute_1_1_activation_layer_info.xhtml#a63e05ce4946dd9807c005c1619fa337a">activation</a>();</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">return</span> str.str();</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> }</div>
-<div class="ttc" id="classarm__compute_1_1_activation_layer_info_xhtml_a63e05ce4946dd9807c005c1619fa337a"><div class="ttname"><a href="classarm__compute_1_1_activation_layer_info.xhtml#a63e05ce4946dd9807c005c1619fa337a">arm_compute::ActivationLayerInfo::activation</a></div><div class="ttdeci">ActivationFunction activation() const </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00541">Types.h:541</a></div></div>
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00680">ActivationLayerInfo::activation()</a>, and <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>.</p>
+<div class="fragment"><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> {</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  str << info.<a class="code" href="classarm__compute_1_1_activation_layer_info.xhtml#a63e05ce4946dd9807c005c1619fa337a">activation</a>();</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> }</div><div class="ttc" id="classarm__compute_1_1_activation_layer_info_xhtml_a63e05ce4946dd9807c005c1619fa337a"><div class="ttname"><a href="classarm__compute_1_1_activation_layer_info.xhtml#a63e05ce4946dd9807c005c1619fa337a">arm_compute::ActivationLayerInfo::activation</a></div><div class="ttdeci">ActivationFunction activation() const </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00680">Types.h:680</a></div></div>
+<div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -16529,12 +17179,10 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00243">243</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00244"></a><span class="lineno"> 244</span> {</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  std::stringstream str;</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  str << <span class="keyword">function</span>;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">return</span> str.str();</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> }</div>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00260">260</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>.</p>
+<div class="fragment"><div class="line"><a name="l00261"></a><span class="lineno"> 261</span> {</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  str << <span class="keyword">function</span>;</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span> }</div><div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -16560,15 +17208,41 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00271">271</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00288">288</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00576">NormalizationLayerInfo::type()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00272"></a><span class="lineno"> 272</span> {</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  std::stringstream str;</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  str << info.<a class="code" href="classarm__compute_1_1_normalization_layer_info.xhtml#a39f6445d0b790034f0d8fac36f2eb7f5">type</a>();</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <span class="keywordflow">return</span> str.str();</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> }</div>
-<div class="ttc" id="classarm__compute_1_1_normalization_layer_info_xhtml_a39f6445d0b790034f0d8fac36f2eb7f5"><div class="ttname"><a href="classarm__compute_1_1_normalization_layer_info.xhtml#a39f6445d0b790034f0d8fac36f2eb7f5">arm_compute::NormalizationLayerInfo::type</a></div><div class="ttdeci">NormType type() const </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00576">Types.h:576</a></div></div>
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>, and <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00717">NormalizationLayerInfo::type()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00289"></a><span class="lineno"> 289</span> {</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  str << info.<a class="code" href="classarm__compute_1_1_normalization_layer_info.xhtml#a39f6445d0b790034f0d8fac36f2eb7f5">type</a>();</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span> }</div><div class="ttc" id="classarm__compute_1_1_normalization_layer_info_xhtml_a39f6445d0b790034f0d8fac36f2eb7f5"><div class="ttname"><a href="classarm__compute_1_1_normalization_layer_info.xhtml#a39f6445d0b790034f0d8fac36f2eb7f5">arm_compute::NormalizationLayerInfo::type</a></div><div class="ttdeci">NormType type() const </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_types_8h_source.xhtml#l00717">Types.h:717</a></div></div>
+<div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a25dac68b6321b9e53027e79222a0eb7f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">std::string arm_compute::to_string </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> & </td>
+ <td class="paramname"><em>rounding_policy</em></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>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00331">331</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00176">arm_compute::test::validation::rounding_policy</a>, and <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>.</p>
+<div class="fragment"><div class="line"><a name="l00332"></a><span class="lineno"> 332</span> {</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a60ad1078faeaf3f59266d69ad937339f">rounding_policy</a>;</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span> }</div><div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a60ad1078faeaf3f59266d69ad937339f"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a60ad1078faeaf3f59266d69ad937339f">arm_compute::test::validation::rounding_policy</a></div><div class="ttdeci">rounding_policy</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00176">PixelWiseMultiplication.cpp:176</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -16594,15 +17268,11 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00371">371</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00398">398</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="_c_l_2_min_max_location_8cpp_source.xhtml#l00090">arm_compute::test::validation::data_type</a>.</p>
-<div class="fragment"><div class="line"><a name="l00372"></a><span class="lineno"> 372</span> {</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  std::stringstream str;</div>
-<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>;</div>
-<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keywordflow">return</span> str.str();</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> }</div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00090">MinMaxLocation.cpp:90</a></div></div>
+<p>References <a class="el" href="_c_l_2_min_max_location_8cpp_source.xhtml#l00090">arm_compute::test::validation::data_type</a>, and <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>.</p>
+<div class="fragment"><div class="line"><a name="l00399"></a><span class="lineno"> 399</span> {</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">data_type</a>;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_ac2ad7f431e3446fddcd9b6b9f93c4c14"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#ac2ad7f431e3446fddcd9b6b9f93c4c14">arm_compute::test::validation::data_type</a></div><div class="ttdeci">data_type</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00090">MinMaxLocation.cpp:90</a></div></div>
+<div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -16616,7 +17286,7 @@
<tr>
<td class="memname">std::string arm_compute::to_string </td>
<td>(</td>
- <td class="paramtype">const Format & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ab4e88c89b3b7ea1735996cc4def22d58">Format</a> & </td>
<td class="paramname"><em>format</em></td><td>)</td>
<td></td>
</tr>
@@ -16628,12 +17298,42 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00441">441</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00442"></a><span class="lineno"> 442</span> {</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  std::stringstream str;</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  str << format;</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  <span class="keywordflow">return</span> str.str();</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> }</div>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00468">468</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>.</p>
+<div class="fragment"><div class="line"><a name="l00469"></a><span class="lineno"> 469</span> {</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  str << format;</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span> }</div><div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a48fd5e28bdb4975c141841f0b96f8707"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">std::string arm_compute::to_string </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_info.xhtml">TensorInfo</a> & </td>
+ <td class="paramname"><em>info</em></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>Formatted output of the <a class="el" href="classarm__compute_1_1_tensor_info.xhtml" title="Store the tensor's metadata. ">TensorInfo</a> type. </p>
+
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00595">595</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="_tensor_info_8h_source.xhtml#l00259">TensorInfo::data_type()</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00239">TensorInfo::fixed_point_position()</a>, <a class="el" href="_tensor_info_8h_source.xhtml#l00251">TensorInfo::num_channels()</a>, <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>, and <a class="el" href="_tensor_info_8h_source.xhtml#l00255">TensorInfo::tensor_shape()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00596"></a><span class="lineno"> 596</span> {</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  str << <span class="stringliteral">"{Shape="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.tensor_shape() << <span class="stringliteral">","</span></div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  << <span class="stringliteral">"Type="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.data_type() << <span class="stringliteral">","</span></div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  << <span class="stringliteral">"Channels="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.num_channels() << <span class="stringliteral">","</span></div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  << <span class="stringliteral">"FixedPointPos="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.fixed_point_position() << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -> set_format(Format::S16)</div></div>
+<div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -16647,7 +17347,7 @@
<tr>
<td class="memname">std::string arm_compute::to_string </td>
<td>(</td>
- <td class="paramtype">const Dimensions< T > & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_dimensions.xhtml">Dimensions</a>< T > & </td>
<td class="paramname"><em>dimensions</em></td><td>)</td>
<td></td>
</tr>
@@ -16659,12 +17359,10 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00550">550</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00551"></a><span class="lineno"> 551</span> {</div>
-<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  std::stringstream str;</div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  str << dimensions;</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  <span class="keywordflow">return</span> str.str();</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> }</div>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00606">606</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>.</p>
+<div class="fragment"><div class="line"><a name="l00607"></a><span class="lineno"> 607</span> {</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>  str << dimensions;</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span> }</div><div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -16678,7 +17376,7 @@
<tr>
<td class="memname">std::string arm_compute::to_string </td>
<td>(</td>
- <td class="paramtype">const Strides & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_strides.xhtml">Strides</a> & </td>
<td class="paramname"><em>stride</em></td><td>)</td>
<td></td>
</tr>
@@ -16690,12 +17388,10 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00557">557</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00558"></a><span class="lineno"> 558</span> {</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  std::stringstream str;</div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  str << stride;</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  <span class="keywordflow">return</span> str.str();</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> }</div>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00613">613</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>.</p>
+<div class="fragment"><div class="line"><a name="l00614"></a><span class="lineno"> 614</span> {</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  str << stride;</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span> }</div><div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -16709,7 +17405,7 @@
<tr>
<td class="memname">std::string arm_compute::to_string </td>
<td>(</td>
- <td class="paramtype">const TensorShape & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml">TensorShape</a> & </td>
<td class="paramname"><em>shape</em></td><td>)</td>
<td></td>
</tr>
@@ -16723,15 +17419,11 @@
<p>Formatted output of the <a class="el" href="classarm__compute_1_1_tensor_shape.xhtml" title="Shape of a tensor. ">TensorShape</a> type. </p>
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00565">565</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00621">621</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">arm_compute::test::validation::shape</a>.</p>
-<div class="fragment"><div class="line"><a name="l00566"></a><span class="lineno"> 566</span> {</div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  std::stringstream str;</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>;</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  <span class="keywordflow">return</span> str.str();</div>
-<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> }</div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
+<p>References <a class="el" href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">arm_compute::test::validation::shape</a>, and <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>.</p>
+<div class="fragment"><div class="line"><a name="l00622"></a><span class="lineno"> 622</span> {</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">shape</a>;</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a45cde9abb508c62d67c3bb2b9bf566a5"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a45cde9abb508c62d67c3bb2b9bf566a5">arm_compute::test::validation::shape</a></div><div class="ttdeci">shape</div><div class="ttdef"><b>Definition:</b> <a href="_c_l_2_min_max_location_8cpp_source.xhtml#l00089">MinMaxLocation.cpp:89</a></div></div>
+<div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -16745,7 +17437,7 @@
<tr>
<td class="memname">std::string arm_compute::to_string </td>
<td>(</td>
- <td class="paramtype">const Coordinates & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> & </td>
<td class="paramname"><em>coord</em></td><td>)</td>
<td></td>
</tr>
@@ -16759,12 +17451,10 @@
<p>Formatted output of the <a class="el" href="classarm__compute_1_1_coordinates.xhtml" title="Coordinates of an item. ">Coordinates</a> type. </p>
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00573">573</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00574"></a><span class="lineno"> 574</span> {</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  std::stringstream str;</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  str << coord;</div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  <span class="keywordflow">return</span> str.str();</div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> }</div>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00629">629</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>.</p>
+<div class="fragment"><div class="line"><a name="l00630"></a><span class="lineno"> 630</span> {</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>  str << coord;</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span> }</div><div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -16778,7 +17468,7 @@
<tr>
<td class="memname">std::string arm_compute::to_string </td>
<td>(</td>
- <td class="paramtype">const PadStrideInfo & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_pad_stride_info.xhtml">PadStrideInfo</a> & </td>
<td class="paramname"><em>pad_stride_info</em></td><td>)</td>
<td></td>
</tr>
@@ -16790,12 +17480,10 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00599">599</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00600"></a><span class="lineno"> 600</span> {</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  std::stringstream str;</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  str << pad_stride_info;</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  <span class="keywordflow">return</span> str.str();</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> }</div>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00656">656</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>.</p>
+<div class="fragment"><div class="line"><a name="l00657"></a><span class="lineno"> 657</span> {</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>  str << pad_stride_info;</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span> }</div><div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -16809,7 +17497,7 @@
<tr>
<td class="memname">std::string arm_compute::to_string </td>
<td>(</td>
- <td class="paramtype">const BorderMode & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327">BorderMode</a> & </td>
<td class="paramname"><em>mode</em></td><td>)</td>
<td></td>
</tr>
@@ -16821,12 +17509,10 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00606">606</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00607"></a><span class="lineno"> 607</span> {</div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  std::stringstream str;</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>  str << mode;</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>  <span class="keywordflow">return</span> str.str();</div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> }</div>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00663">663</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>.</p>
+<div class="fragment"><div class="line"><a name="l00664"></a><span class="lineno"> 664</span> {</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  str << mode;</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span> }</div><div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -16840,7 +17526,7 @@
<tr>
<td class="memname">std::string arm_compute::to_string </td>
<td>(</td>
- <td class="paramtype">const BorderSize & </td>
+ <td class="paramtype">const <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> & </td>
<td class="paramname"><em>border</em></td><td>)</td>
<td></td>
</tr>
@@ -16852,12 +17538,10 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00613">613</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00614"></a><span class="lineno"> 614</span> {</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  std::stringstream str;</div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  str << border;</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  <span class="keywordflow">return</span> str.str();</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> }</div>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00670">670</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>.</p>
+<div class="fragment"><div class="line"><a name="l00671"></a><span class="lineno"> 671</span> {</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  str << border;</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span> }</div><div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -16871,7 +17555,7 @@
<tr>
<td class="memname">std::string arm_compute::to_string </td>
<td>(</td>
- <td class="paramtype">const InterpolationPolicy & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a966a9c417ce5e94dca08d9b5e745c0c9">InterpolationPolicy</a> & </td>
<td class="paramname"><em>policy</em></td><td>)</td>
<td></td>
</tr>
@@ -16883,12 +17567,39 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00620">620</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00621"></a><span class="lineno"> 621</span> {</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  std::stringstream str;</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  str << policy;</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  <span class="keywordflow">return</span> str.str();</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> }</div>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00677">677</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>.</p>
+<div class="fragment"><div class="line"><a name="l00678"></a><span class="lineno"> 678</span> {</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  str << policy;</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span> }</div><div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a5b8e815072ae54278cb1c91e254be4d3"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">std::string arm_compute::to_string </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a16a59381d4d74d17d86d69eb4d286d7b">SamplingPolicy</a> & </td>
+ <td class="paramname"><em>policy</em></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>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00684">684</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>.</p>
+<div class="fragment"><div class="line"><a name="l00685"></a><span class="lineno"> 685</span> {</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  str << policy;</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span> }</div><div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -16902,7 +17613,7 @@
<tr>
<td class="memname">std::string arm_compute::to_string </td>
<td>(</td>
- <td class="paramtype">const ConvertPolicy & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a> & </td>
<td class="paramname"><em>policy</em></td><td>)</td>
<td></td>
</tr>
@@ -16914,12 +17625,10 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00645">645</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00646"></a><span class="lineno"> 646</span> {</div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  std::stringstream str;</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  str << policy;</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  <span class="keywordflow">return</span> str.str();</div>
-<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> }</div>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00709">709</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>.</p>
+<div class="fragment"><div class="line"><a name="l00710"></a><span class="lineno"> 710</span> {</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  str << policy;</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span> }</div><div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -16933,7 +17642,7 @@
<tr>
<td class="memname">std::string arm_compute::to_string </td>
<td>(</td>
- <td class="paramtype">const ReductionOperation & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a5827eb9cb394e74af87f74bd354fb45b">ReductionOperation</a> & </td>
<td class="paramname"><em>op</em></td><td>)</td>
<td></td>
</tr>
@@ -16945,12 +17654,10 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00667">667</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<div class="fragment"><div class="line"><a name="l00668"></a><span class="lineno"> 668</span> {</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  std::stringstream str;</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  str << op;</div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  <span class="keywordflow">return</span> str.str();</div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> }</div>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00731">731</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>.</p>
+<div class="fragment"><div class="line"><a name="l00732"></a><span class="lineno"> 732</span> {</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  str << op;</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span> }</div><div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -16964,7 +17671,7 @@
<tr>
<td class="memname">std::string arm_compute::to_string </td>
<td>(</td>
- <td class="paramtype">const NormType & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ad4bb8dabdbf8ad75e34220cc666b59ca">NormType</a> & </td>
<td class="paramname"><em>type</em></td><td>)</td>
<td></td>
</tr>
@@ -16976,15 +17683,11 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00674">674</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00738">738</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="hwc_8hpp_source.xhtml#l00204">mali_userspace::type</a>.</p>
-<div class="fragment"><div class="line"><a name="l00675"></a><span class="lineno"> 675</span> {</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>  std::stringstream str;</div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>  str << <a class="code" href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">type</a>;</div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  <span class="keywordflow">return</span> str.str();</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> }</div>
-<div class="ttc" id="namespacemali__userspace_xhtml_ad44b615021ed3ccb734fcaf583ef4a03"><div class="ttname"><a href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">mali_userspace::type</a></div><div class="ttdeci">uint32_t type</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00204">hwc.hpp:204</a></div></div>
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>, and <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::type</a>.</p>
+<div class="fragment"><div class="line"><a name="l00739"></a><span class="lineno"> 739</span> {</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  str << <a class="code" href="namespacecaffe__data__extractor.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">type</a>;</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span> }</div><div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
+<div class="ttc" id="namespacecaffe__data__extractor_xhtml_a7aead736a07eaf25623ad7bfa1f0ee2d"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">caffe_data_extractor.type</a></div><div class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -16998,7 +17701,7 @@
<tr>
<td class="memname">std::string arm_compute::to_string </td>
<td>(</td>
- <td class="paramtype">const PoolingType & </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a9172da722f0a434e5cc07c0a3c115d93">PoolingType</a> & </td>
<td class="paramname"><em>type</em></td><td>)</td>
<td></td>
</tr>
@@ -17010,15 +17713,11 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00681">681</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00745">745</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="hwc_8hpp_source.xhtml#l00204">mali_userspace::type</a>.</p>
-<div class="fragment"><div class="line"><a name="l00682"></a><span class="lineno"> 682</span> {</div>
-<div class="line"><a name="l00683"></a><span class="lineno"> 683</span>  std::stringstream str;</div>
-<div class="line"><a name="l00684"></a><span class="lineno"> 684</span>  str << <a class="code" href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">type</a>;</div>
-<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>  <span class="keywordflow">return</span> str.str();</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> }</div>
-<div class="ttc" id="namespacemali__userspace_xhtml_ad44b615021ed3ccb734fcaf583ef4a03"><div class="ttname"><a href="namespacemali__userspace.xhtml#ad44b615021ed3ccb734fcaf583ef4a03">mali_userspace::type</a></div><div class="ttdeci">uint32_t type</div><div class="ttdef"><b>Definition:</b> <a href="hwc_8hpp_source.xhtml#l00204">hwc.hpp:204</a></div></div>
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>, and <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::type</a>.</p>
+<div class="fragment"><div class="line"><a name="l00746"></a><span class="lineno"> 746</span> {</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  str << <a class="code" href="namespacecaffe__data__extractor.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">type</a>;</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span> }</div><div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
+<div class="ttc" id="namespacecaffe__data__extractor_xhtml_a7aead736a07eaf25623ad7bfa1f0ee2d"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">caffe_data_extractor.type</a></div><div class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -17032,7 +17731,7 @@
<tr>
<td class="memname">std::string arm_compute::to_string </td>
<td>(</td>
- <td class="paramtype">const PoolingLayerInfo & </td>
+ <td class="paramtype">const <a class="el" href="classarm__compute_1_1_pooling_layer_info.xhtml">PoolingLayerInfo</a> & </td>
<td class="paramname"><em>info</em></td><td>)</td>
<td></td>
</tr>
@@ -17044,15 +17743,101 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00688">688</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+<p>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00752">752</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
-<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00458">PoolingLayerInfo::pool_type()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00689"></a><span class="lineno"> 689</span> {</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  std::stringstream str;</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>  str << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pool_type();</div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  <span class="keywordflow">return</span> str.str();</div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> }</div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -> set_format(Format::S16)</div></div>
+<p>References <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00603">PoolingLayerInfo::is_global_pooling()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00595">PoolingLayerInfo::pad_stride_info()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00591">PoolingLayerInfo::pool_size()</a>, <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00587">PoolingLayerInfo::pool_type()</a>, and <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>.</p>
+<div class="fragment"><div class="line"><a name="l00753"></a><span class="lineno"> 753</span> {</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  str << <span class="stringliteral">"{Type="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pool_type() << <span class="stringliteral">","</span></div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  << <span class="stringliteral">"IsGlobalPooling="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.is_global_pooling();</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  <span class="keywordflow">if</span>(!<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.is_global_pooling())</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>  {</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  str << <span class="stringliteral">","</span></div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  << <span class="stringliteral">"PoolSize="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pool_size() << <span class="stringliteral">","</span></div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  << <span class="stringliteral">"PadStride="</span> << <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">info</a>.pad_stride_info();</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  }</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  str << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a096668313a9a819d54a2e65ec21ff0cc"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info</a></div><div class="ttdeci">src info() -> set_format(Format::S16)</div></div>
+<div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ae4ead564f3c96ea5f1ec7fe035b941f3"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">std::string arm_compute::to_string </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#af00a42ecad444bbda75cde1b64bd7e72">arm_compute::PhaseType</a> & </td>
+ <td class="paramname"><em>type</em></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>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00799">799</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>, and <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::type</a>.</p>
+<div class="fragment"><div class="line"><a name="l00800"></a><span class="lineno"> 800</span> {</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  str << <a class="code" href="namespacecaffe__data__extractor.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">type</a>;</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span> }</div><div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
+<div class="ttc" id="namespacecaffe__data__extractor_xhtml_a7aead736a07eaf25623ad7bfa1f0ee2d"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">caffe_data_extractor.type</a></div><div class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a42e6f8761f01b5846f56c3b8025c8c0a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">std::string arm_compute::to_string </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a7b3ec6413f000b02fdb4e39a951d9f8a">arm_compute::MagnitudeType</a> & </td>
+ <td class="paramname"><em>type</em></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>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00824">824</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>, and <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::type</a>.</p>
+<div class="fragment"><div class="line"><a name="l00825"></a><span class="lineno"> 825</span> {</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>  str << <a class="code" href="namespacecaffe__data__extractor.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">type</a>;</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span> }</div><div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
+<div class="ttc" id="namespacecaffe__data__extractor_xhtml_a7aead736a07eaf25623ad7bfa1f0ee2d"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">caffe_data_extractor.type</a></div><div class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="ab75d8ff29ba9b398d5740b3efd156e71"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">std::string arm_compute::to_string </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#ae46abc5ecac309cbece5c06cb80daaf7">arm_compute::GradientDimension</a> & </td>
+ <td class="paramname"><em>type</em></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>Definition at line <a class="el" href="_type_printer_8h_source.xhtml#l00852">852</a> of file <a class="el" href="_type_printer_8h_source.xhtml">TypePrinter.h</a>.</p>
+
+<p>References <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::str</a>, and <a class="el" href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor::type</a>.</p>
+<div class="fragment"><div class="line"><a name="l00853"></a><span class="lineno"> 853</span> {</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>  std::stringstream <a class="code" href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">str</a>;</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  str << <a class="code" href="namespacecaffe__data__extractor.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">type</a>;</div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  <span class="keywordflow">return</span> str.str();</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span> }</div><div class="ttc" id="namespacecaffe__data__extractor_xhtml_a4b99ff73a8a869319570237b5c57ab03"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a4b99ff73a8a869319570237b5c57ab03">caffe_data_extractor.str</a></div><div class="ttdeci">str</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
+<div class="ttc" id="namespacecaffe__data__extractor_xhtml_a7aead736a07eaf25623ad7bfa1f0ee2d"><div class="ttname"><a href="namespacecaffe__data__extractor.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">caffe_data_extractor.type</a></div><div class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> <a href="caffe__data__extractor_8py_source.xhtml#l00019">caffe_data_extractor.py:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -17063,7 +17848,7 @@
<tr>
<td class="memname">bool arm_compute::update_window_and_padding </td>
<td>(</td>
- <td class="paramtype">Window & </td>
+ <td class="paramtype"><a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> & </td>
<td class="paramname"><em>win</em>, </td>
</tr>
<tr>
@@ -17091,29 +17876,10 @@
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the window has been changed. Changes to the padding do not influence the returned value. </dd></dl>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00343">343</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00407">407</a> of file <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml">Helpers.h</a>.</p>
-<p>References <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00208">for_each()</a>, <a class="el" href="classarm__compute_1_1_i_access_window.xhtml#abd645498a7cbaebd88b257083e459dd6">IAccessWindow::update_padding_if_needed()</a>, and <a class="el" href="classarm__compute_1_1_i_access_window.xhtml#a5b6940395e0168f3f00da892ded537aa">IAccessWindow::update_window_if_needed()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00344"></a><span class="lineno"> 344</span> {</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="keywordtype">bool</span> window_changed = <span class="keyword">false</span>;</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <a class="code" href="namespacearm__compute.xhtml#ab951ff3c9484cd4b243344b3a0f12d95">for_each</a>([&](<span class="keyword">const</span> IAccessWindow & w)</div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  {</div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  window_changed |= w.update_window_if_needed(win);</div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  },</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  patterns...);</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <span class="keywordtype">bool</span> padding_changed = <span class="keyword">false</span>;</div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <a class="code" href="namespacearm__compute.xhtml#ab951ff3c9484cd4b243344b3a0f12d95">for_each</a>([&](<span class="keyword">const</span> IAccessWindow & w)</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  {</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  padding_changed |= w.update_padding_if_needed(win);</div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  },</div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  patterns...);</div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <span class="keywordflow">return</span> window_changed;</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_ab951ff3c9484cd4b243344b3a0f12d95"><div class="ttname"><a href="namespacearm__compute.xhtml#ab951ff3c9484cd4b243344b3a0f12d95">arm_compute::for_each</a></div><div class="ttdeci">void for_each(F &&func, T &&arg, Ts &&...args)</div><div class="ttdoc">Call the function for each of the arguments. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00219">Helpers.h:219</a></div></div>
+<p>References <a class="el" href="namespacearm__compute.xhtml#afcdda83b6a85d5798f08d92c0e235e2e">calculate_max_enlarged_window()</a>, <a class="el" href="namespacearm__compute.xhtml#aa2117aef4381edbdf81e17ec088df7f1">calculate_max_window()</a>, <a class="el" href="namespacearm__compute.xhtml#a47456b4d520aee1cba80bf6e20f6685a">calculate_max_window_horizontal()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00272">for_each()</a>, <a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info()</a>, <a class="el" href="classarm__compute_1_1_i_access_window.xhtml#abd645498a7cbaebd88b257083e459dd6">IAccessWindow::update_padding_if_needed()</a>, and <a class="el" href="classarm__compute_1_1_i_access_window.xhtml#a5b6940395e0168f3f00da892ded537aa">IAccessWindow::update_window_if_needed()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00408"></a><span class="lineno"> 408</span> {</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  <span class="keywordtype">bool</span> window_changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  <a class="code" href="namespacearm__compute.xhtml#ab951ff3c9484cd4b243344b3a0f12d95">for_each</a>([&](<span class="keyword">const</span> IAccessWindow & w)</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  {</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  window_changed |= w.update_window_if_needed(win);</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  },</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  patterns...);</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <span class="keywordtype">bool</span> padding_changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span> </div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <a class="code" href="namespacearm__compute.xhtml#ab951ff3c9484cd4b243344b3a0f12d95">for_each</a>([&](<span class="keyword">const</span> IAccessWindow & w)</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  {</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  padding_changed |= w.update_padding_if_needed(win);</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  },</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  patterns...);</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span> </div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <span class="keywordflow">return</span> window_changed;</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_ab951ff3c9484cd4b243344b3a0f12d95"><div class="ttname"><a href="namespacearm__compute.xhtml#ab951ff3c9484cd4b243344b3a0f12d95">arm_compute::for_each</a></div><div class="ttdeci">void for_each(F &&func, T &&arg, Ts &&...args)</div><div class="ttdoc">Call the function for each of the arguments. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2core_2_helpers_8h_source.xhtml#l00283">Helpers.h:283</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -17127,7 +17893,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vabs_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -17149,9 +17915,7 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector absolute value </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00289">289</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00290"></a><span class="lineno"> 290</span> {</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordflow">return</span> vabs_s16(a);</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> }</div>
+<div class="fragment"><div class="line"><a name="l00290"></a><span class="lineno"> 290</span> {</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordflow">return</span> vabs_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -17165,7 +17929,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vabs_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -17187,9 +17951,7 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector absolute value </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00284">284</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00285"></a><span class="lineno"> 285</span> {</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordflow">return</span> vabs_s8(a);</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> }</div>
+<div class="fragment"><div class="line"><a name="l00285"></a><span class="lineno"> 285</span> {</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordflow">return</span> vabs_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -17203,7 +17965,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vabsq_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -17225,9 +17987,7 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector absolute value </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00299">299</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00300"></a><span class="lineno"> 300</span> {</div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">return</span> vabsq_s16(a);</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> }</div>
+<div class="fragment"><div class="line"><a name="l00300"></a><span class="lineno"> 300</span> {</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">return</span> vabsq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -17241,7 +18001,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vabsq_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -17263,9 +18023,7 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector absolute value </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00294">294</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> {</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">return</span> vabsq_s8(a);</div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> }</div>
+<div class="fragment"><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> {</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">return</span> vabsq_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -17279,13 +18037,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vadd_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -17312,9 +18070,8 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector addition </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00389">389</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00390"></a><span class="lineno"> 390</span> {</div>
-<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keywordflow">return</span> vadd_s16(a, b);</div>
-<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> }</div>
+<div class="fragment"><div class="line"><a name="l00390"></a><span class="lineno"> 390</span> {</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keywordflow">return</span> vadd_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -17328,13 +18085,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vadd_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -17361,9 +18118,8 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector addition </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00384">384</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00385"></a><span class="lineno"> 385</span> {</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keywordflow">return</span> vadd_s8(a, b);</div>
-<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> }</div>
+<div class="fragment"><div class="line"><a name="l00385"></a><span class="lineno"> 385</span> {</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keywordflow">return</span> vadd_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -17377,13 +18133,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vaddq_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -17410,9 +18166,8 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector addition </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00399">399</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00400"></a><span class="lineno"> 400</span> {</div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <span class="keywordflow">return</span> vaddq_s16(a, b);</div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> }</div>
+<div class="fragment"><div class="line"><a name="l00400"></a><span class="lineno"> 400</span> {</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <span class="keywordflow">return</span> vaddq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -17426,13 +18181,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vaddq_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -17459,9 +18214,8 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector addition </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00394">394</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00395"></a><span class="lineno"> 395</span> {</div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="keywordflow">return</span> vaddq_s8(a, b);</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> }</div>
+<div class="fragment"><div class="line"><a name="l00395"></a><span class="lineno"> 395</span> {</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="keywordflow">return</span> vaddq_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -17475,7 +18229,7 @@
<tr>
<td class="memname">float32x4_t vcvt_f32_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -17508,12 +18262,7 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the conversion 16 bit fixed point -> float32x2 </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01003">1003</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> {</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>  <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(1.0f / (1 << fixed_point_position));</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>  <span class="keyword">const</span> float32x4_t res_f32 = vcvtq_f32_s32(vmovl_s16(a));</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> </div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>  <span class="keywordflow">return</span> vmulq_f32(res_f32, pow2);</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> }</div>
+<div class="fragment"><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> {</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>  <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(1.0f / (1 << fixed_point_position));</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>  <span class="keyword">const</span> float32x4_t res_f32 = vcvtq_f32_s32(vmovl_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>));</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> </div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>  <span class="keywordflow">return</span> vmulq_f32(res_f32, pow2);</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -17527,7 +18276,7 @@
<tr>
<td class="memname">float32x4x2_t vcvt_f32_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -17562,32 +18311,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00975">975</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00148">vget_high_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00138">vget_low_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00976"></a><span class="lineno"> 976</span> {</div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span>  <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(1.0f / (1 << fixed_point_position));</div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> </div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span>  <span class="keyword">const</span> int16x8_t res_s16 = vmovl_s8(a);</div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> </div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span>  <span class="keyword">const</span> int32x4x2_t res_s32 =</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  {</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span>  {</div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span>  vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(res_s16)),</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span>  vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(res_s16))</div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span>  }</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span>  };</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> </div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span>  float32x4x2_t res_f32 =</div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span>  {</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span>  {</div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span>  vcvtq_f32_s32(res_s32.val[0]),</div>
-<div class="line"><a name="l00993"></a><span class="lineno"> 993</span>  vcvtq_f32_s32(res_s32.val[1])</div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span>  }</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span>  };</div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> </div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span>  res_f32.val[0] = vmulq_f32(res_f32.val[0], pow2);</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span>  res_f32.val[1] = vmulq_f32(res_f32.val[1], pow2);</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span> </div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>  <span class="keywordflow">return</span> res_f32;</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> }</div>
+<div class="fragment"><div class="line"><a name="l00976"></a><span class="lineno"> 976</span> {</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>  <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(1.0f / (1 << fixed_point_position));</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span> </div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>  <span class="keyword">const</span> int16x8_t res_s16 = vmovl_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span> </div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>  <span class="keyword">const</span> int32x4x2_t res_s32 =</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  {</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>  {</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>  vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(res_s16)),</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>  vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(res_s16))</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>  }</div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span>  };</div><div class="line"><a name="l00988"></a><span class="lineno"> 988</span> </div><div class="line"><a name="l00989"></a><span class="lineno"> 989</span>  float32x4x2_t res_f32 =</div><div class="line"><a name="l00990"></a><span class="lineno"> 990</span>  {</div><div class="line"><a name="l00991"></a><span class="lineno"> 991</span>  {</div><div class="line"><a name="l00992"></a><span class="lineno"> 992</span>  vcvtq_f32_s32(res_s32.val[0]),</div><div class="line"><a name="l00993"></a><span class="lineno"> 993</span>  vcvtq_f32_s32(res_s32.val[1])</div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span>  }</div><div class="line"><a name="l00995"></a><span class="lineno"> 995</span>  };</div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span> </div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>  res_f32.val[0] = vmulq_f32(res_f32.val[0], pow2);</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>  res_f32.val[1] = vmulq_f32(res_f32.val[1], pow2);</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span> </div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>  <span class="keywordflow">return</span> res_f32;</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ac2edef8bf07bce91b37aa02b952b8ed6"><div class="ttname"><a href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">arm_compute::vget_high_qs16</a></div><div class="ttdeci">qint16x4_t vget_high_qs16(qint16x8_t a)</div><div class="ttdoc">Get the higher half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00148">NEFixedPoint.inl:148</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ae895c5b470fcf069afd626bb36c63e3d"><div class="ttname"><a href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">arm_compute::vget_low_qs16</a></div><div class="ttdeci">qint16x4_t vget_low_qs16(qint16x8_t a)</div><div class="ttdoc">Get the lower half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00138">NEFixedPoint.inl:138</a></div></div>
</div><!-- fragment -->
@@ -17603,7 +18327,7 @@
<tr>
<td class="memname">float32x4x2_t arm_compute::vcvtq_f32_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -17628,30 +18352,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01051">1051</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00148">vget_high_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00138">vget_low_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> {</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>  <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(1.0f / (1 << fixed_point_position));</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> </div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>  <span class="keyword">const</span> int32x4x2_t res_s32 =</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>  {</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>  {</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>  vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(a)),</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>  vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(a))</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>  }</div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>  };</div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> </div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>  float32x4x2_t res_f32 =</div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>  {</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>  {</div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>  vcvtq_f32_s32(res_s32.val[0]),</div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>  vcvtq_f32_s32(res_s32.val[1])</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>  }</div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>  };</div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> </div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>  res_f32.val[0] = vmulq_f32(res_f32.val[0], pow2);</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>  res_f32.val[1] = vmulq_f32(res_f32.val[1], pow2);</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> </div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>  <span class="keywordflow">return</span> res_f32;</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> }</div>
+<div class="fragment"><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> {</div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>  <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(1.0f / (1 << fixed_point_position));</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> </div><div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>  <span class="keyword">const</span> int32x4x2_t res_s32 =</div><div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>  {</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>  {</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>  vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>)),</div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>  vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>))</div><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>  }</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>  };</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> </div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>  float32x4x2_t res_f32 =</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>  {</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>  {</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>  vcvtq_f32_s32(res_s32.val[0]),</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>  vcvtq_f32_s32(res_s32.val[1])</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>  }</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>  };</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> </div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>  res_f32.val[0] = vmulq_f32(res_f32.val[0], pow2);</div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>  res_f32.val[1] = vmulq_f32(res_f32.val[1], pow2);</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> </div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>  <span class="keywordflow">return</span> res_f32;</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ac2edef8bf07bce91b37aa02b952b8ed6"><div class="ttname"><a href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">arm_compute::vget_high_qs16</a></div><div class="ttdeci">qint16x4_t vget_high_qs16(qint16x8_t a)</div><div class="ttdoc">Get the higher half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00148">NEFixedPoint.inl:148</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ae895c5b470fcf069afd626bb36c63e3d"><div class="ttname"><a href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">arm_compute::vget_low_qs16</a></div><div class="ttdeci">qint16x4_t vget_low_qs16(qint16x8_t a)</div><div class="ttdoc">Get the lower half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00138">NEFixedPoint.inl:138</a></div></div>
</div><!-- fragment -->
@@ -17667,7 +18368,7 @@
<tr>
<td class="memname">float32x4x4_t arm_compute::vcvtq_f32_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -17692,44 +18393,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01011">1011</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00148">vget_high_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00138">vget_low_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> {</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>  <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(1.0f / (1 << fixed_point_position));</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> </div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>  <span class="keyword">const</span> int16x8x2_t res_s16 =</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>  {</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>  {</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>  vmovl_s8(vget_low_s8(a)),</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>  vmovl_s8(vget_high_s8(a)),</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>  }</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>  };</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> </div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>  <span class="keyword">const</span> int32x4x4_t res_s32 =</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>  {</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>  {</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>  vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(res_s16.val[0])),</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>  vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(res_s16.val[0])),</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>  vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(res_s16.val[1])),</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>  vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(res_s16.val[1])),</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>  }</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>  };</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> </div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>  float32x4x4_t res_f32 =</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>  {</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>  {</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>  vcvtq_f32_s32(res_s32.val[0]),</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>  vcvtq_f32_s32(res_s32.val[1]),</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>  vcvtq_f32_s32(res_s32.val[2]),</div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>  vcvtq_f32_s32(res_s32.val[3])</div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>  }</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>  };</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> </div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>  res_f32.val[0] = vmulq_f32(res_f32.val[0], pow2);</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>  res_f32.val[1] = vmulq_f32(res_f32.val[1], pow2);</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>  res_f32.val[2] = vmulq_f32(res_f32.val[2], pow2);</div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>  res_f32.val[3] = vmulq_f32(res_f32.val[3], pow2);</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> </div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>  <span class="keywordflow">return</span> res_f32;</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> }</div>
+<div class="fragment"><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> {</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>  <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(1.0f / (1 << fixed_point_position));</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> </div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>  <span class="keyword">const</span> int16x8x2_t res_s16 =</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>  {</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>  {</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>  vmovl_s8(vget_low_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>)),</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>  vmovl_s8(vget_high_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>)),</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>  }</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>  };</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> </div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>  <span class="keyword">const</span> int32x4x4_t res_s32 =</div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>  {</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>  {</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>  vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(res_s16.val[0])),</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>  vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(res_s16.val[0])),</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>  vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(res_s16.val[1])),</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>  vmovl_s16(<a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(res_s16.val[1])),</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>  }</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>  };</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> </div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>  float32x4x4_t res_f32 =</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>  {</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>  {</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>  vcvtq_f32_s32(res_s32.val[0]),</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>  vcvtq_f32_s32(res_s32.val[1]),</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>  vcvtq_f32_s32(res_s32.val[2]),</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>  vcvtq_f32_s32(res_s32.val[3])</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>  }</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>  };</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> </div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>  res_f32.val[0] = vmulq_f32(res_f32.val[0], pow2);</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>  res_f32.val[1] = vmulq_f32(res_f32.val[1], pow2);</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>  res_f32.val[2] = vmulq_f32(res_f32.val[2], pow2);</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>  res_f32.val[3] = vmulq_f32(res_f32.val[3], pow2);</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> </div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>  <span class="keywordflow">return</span> res_f32;</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ac2edef8bf07bce91b37aa02b952b8ed6"><div class="ttname"><a href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">arm_compute::vget_high_qs16</a></div><div class="ttdeci">qint16x4_t vget_high_qs16(qint16x8_t a)</div><div class="ttdoc">Get the higher half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00148">NEFixedPoint.inl:148</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ae895c5b470fcf069afd626bb36c63e3d"><div class="ttname"><a href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">arm_compute::vget_low_qs16</a></div><div class="ttdeci">qint16x4_t vget_low_qs16(qint16x8_t a)</div><div class="ttdoc">Get the lower half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00138">NEFixedPoint.inl:138</a></div></div>
</div><!-- fragment -->
@@ -17742,7 +18406,7 @@
<tr>
<td class="memname">float32x4x2_t arm_compute::vcvtq_qs16_f32 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -17778,7 +18442,7 @@
<tr>
<td class="memname">float32x4x4_t arm_compute::vcvtq_qs8_f32 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -17817,13 +18481,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vdiv_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
@@ -17859,10 +18523,9 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01299">1299</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00496">vmul_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01103">vrecip_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> {</div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(a, <a class="code" href="namespacearm__compute.xhtml#a8e14017f1276f4a4e14078d93ed692bd">vrecip_qs16</a>(b, fixed_point_position), fixed_point_position);</div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> }</div>
+<div class="fragment"><div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> {</div><div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute.xhtml#a8e14017f1276f4a4e14078d93ed692bd">vrecip_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>, fixed_point_position), fixed_point_position);</div><div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ac1b67e3283a1cae4d57b7f64137f5f5c"><div class="ttname"><a href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">arm_compute::vmul_qs16</a></div><div class="ttdeci">qint16x4_t vmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00496">NEFixedPoint.inl:496</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a8e14017f1276f4a4e14078d93ed692bd"><div class="ttname"><a href="namespacearm__compute.xhtml#a8e14017f1276f4a4e14078d93ed692bd">arm_compute::vrecip_qs16</a></div><div class="ttdeci">qint16x4_t vrecip_qs16(qint16x4_t a, int fixed_point_position)</div><div class="ttdoc">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01103">NEFixedPoint.inl:1103</a></div></div>
</div><!-- fragment -->
</div>
@@ -17877,7 +18540,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vdiv_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -17919,11 +18582,10 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01294">1294</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00479">vmul_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01077">vrecip_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> {</div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(a, <a class="code" href="namespacearm__compute.xhtml#aa24b270b0193ad8983dfecd6105c4936">vrecip_qs8</a>(b, fixed_point_position), fixed_point_position);</div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> }</div>
+<div class="fragment"><div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> {</div><div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute.xhtml#aa24b270b0193ad8983dfecd6105c4936">vrecip_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>, fixed_point_position), fixed_point_position);</div><div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_afccf1305c480f2338af8925bba6b54cd"><div class="ttname"><a href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">arm_compute::vmul_qs8</a></div><div class="ttdeci">qint8x8_t vmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00479">NEFixedPoint.inl:479</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_aa24b270b0193ad8983dfecd6105c4936"><div class="ttname"><a href="namespacearm__compute.xhtml#aa24b270b0193ad8983dfecd6105c4936">arm_compute::vrecip_qs8</a></div><div class="ttdeci">qint8x8_t vrecip_qs8(qint8x8_t a, int fixed_point_position)</div><div class="ttdoc">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01077">NEFixedPoint.inl:1077</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -17937,13 +18599,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vdivq_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
@@ -17979,10 +18641,9 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01309">1309</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00533">vmulq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01210">vrecipq_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> {</div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(a, <a class="code" href="namespacearm__compute.xhtml#aea1b943c0452ea124c9f8ac0d1315bed">vrecipq_qs16</a>(b, fixed_point_position), fixed_point_position);</div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_aea1b943c0452ea124c9f8ac0d1315bed"><div class="ttname"><a href="namespacearm__compute.xhtml#aea1b943c0452ea124c9f8ac0d1315bed">arm_compute::vrecipq_qs16</a></div><div class="ttdeci">qint16x8_t vrecipq_qs16(qint16x8_t a, int fixed_point_position)</div><div class="ttdoc">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01210">NEFixedPoint.inl:1210</a></div></div>
+<div class="fragment"><div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> {</div><div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute.xhtml#aea1b943c0452ea124c9f8ac0d1315bed">vrecipq_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>, fixed_point_position), fixed_point_position);</div><div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_aea1b943c0452ea124c9f8ac0d1315bed"><div class="ttname"><a href="namespacearm__compute.xhtml#aea1b943c0452ea124c9f8ac0d1315bed">arm_compute::vrecipq_qs16</a></div><div class="ttdeci">qint16x8_t vrecipq_qs16(qint16x8_t a, int fixed_point_position)</div><div class="ttdoc">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01210">NEFixedPoint.inl:1210</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a74ea79cda0ff6a819b2e5176fe0fc622"><div class="ttname"><a href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">arm_compute::vmulq_qs16</a></div><div class="ttdeci">qint16x8_t vmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00533">NEFixedPoint.inl:533</a></div></div>
</div><!-- fragment -->
</div>
@@ -17997,13 +18658,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vdivq_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
@@ -18039,10 +18700,9 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01304">1304</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00513">vmulq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01183">vrecipq_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> {</div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(a, <a class="code" href="namespacearm__compute.xhtml#abbeb1dc4834fb4e97cf94d702d0e0f91">vrecipq_qs8</a>(b, fixed_point_position), fixed_point_position);</div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> }</div>
+<div class="fragment"><div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> {</div><div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute.xhtml#abbeb1dc4834fb4e97cf94d702d0e0f91">vrecipq_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>, fixed_point_position), fixed_point_position);</div><div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a031b17d4102856aa4d6bf7ebf83bf0ab"><div class="ttname"><a href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">arm_compute::vmulq_qs8</a></div><div class="ttdeci">qint8x16_t vmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00513">NEFixedPoint.inl:513</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_abbeb1dc4834fb4e97cf94d702d0e0f91"><div class="ttname"><a href="namespacearm__compute.xhtml#abbeb1dc4834fb4e97cf94d702d0e0f91">arm_compute::vrecipq_qs8</a></div><div class="ttdeci">qint8x16_t vrecipq_qs8(qint8x16_t a, int fixed_point_position)</div><div class="ttdoc">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01183">NEFixedPoint.inl:1183</a></div></div>
</div><!-- fragment -->
</div>
@@ -18057,7 +18717,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vdup_n_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -18081,9 +18741,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00238">238</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01729">vinvsqrt_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01785">vqinvsqrt_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">return</span> vdup_n_s16(a);</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> }</div>
+<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">return</span> vdup_n_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -18097,7 +18755,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vdup_n_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -18121,9 +18779,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00233">233</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01702">vinvsqrt_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01758">vqinvsqrt_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00234"></a><span class="lineno"> 234</span> {</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">return</span> vdup_n_s8(a);</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> }</div>
+<div class="fragment"><div class="line"><a name="l00234"></a><span class="lineno"> 234</span> {</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">return</span> vdup_n_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -18134,7 +18790,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vdupq_n_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -18164,7 +18820,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vdupq_n_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -18177,9 +18833,7 @@
</div><div class="memdoc">
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00274">274</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00275"></a><span class="lineno"> 275</span> {</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordflow">return</span> vdupq_n_s16(a);</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> }</div>
+<div class="fragment"><div class="line"><a name="l00275"></a><span class="lineno"> 275</span> {</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordflow">return</span> vdupq_n_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -18228,16 +18882,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00262">262</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00949">vqcvtq_qs16_f32()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00263"></a><span class="lineno"> 263</span> {</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  float32x4x2_t res =</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  {</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  {</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  vdupq_n_f32(a),</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  vdupq_n_f32(a),</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  }</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  };</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#afe99b690ec0046061f66f699fa055b47">vqcvtq_qs16_f32</a>(res, fixed_point_position);</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> }</div>
+<div class="fragment"><div class="line"><a name="l00263"></a><span class="lineno"> 263</span> {</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  float32x4x2_t res =</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  {</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  {</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  vdupq_n_f32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>),</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  vdupq_n_f32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>),</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  }</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  };</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#afe99b690ec0046061f66f699fa055b47">vqcvtq_qs16_f32</a>(res, fixed_point_position);</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_afe99b690ec0046061f66f699fa055b47"><div class="ttname"><a href="namespacearm__compute.xhtml#afe99b690ec0046061f66f699fa055b47">arm_compute::vqcvtq_qs16_f32</a></div><div class="ttdeci">qint16x8_t vqcvtq_qs16_f32(const float32x4x2_t &a, int fixed_point_position)</div><div class="ttdoc">Convert a float vector with 4x2 elements to 16 bit fixed point vector with 8 elements. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00949">NEFixedPoint.inl:949</a></div></div>
</div><!-- fragment -->
</div>
@@ -18252,7 +18897,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> arm_compute::vdupq_n_qs32 </td>
<td>(</td>
- <td class="paramtype">qint32_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#aa06c95f9976f3729316d689b4419089f">qint32_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -18265,9 +18910,7 @@
</div><div class="memdoc">
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00279">279</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00280"></a><span class="lineno"> 280</span> {</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keywordflow">return</span> vdupq_n_s32(a);</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> }</div>
+<div class="fragment"><div class="line"><a name="l00280"></a><span class="lineno"> 280</span> {</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keywordflow">return</span> vdupq_n_s32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -18281,7 +18924,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vdupq_n_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -18305,9 +18948,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00243">243</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01814">vinvsqrtq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01870">vqinvsqrtq_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00244"></a><span class="lineno"> 244</span> {</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">return</span> vdupq_n_s8(a);</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> }</div>
+<div class="fragment"><div class="line"><a name="l00244"></a><span class="lineno"> 244</span> {</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">return</span> vdupq_n_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -18356,82 +18997,11 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00248">248</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00909">vqcvtq_qs8_f32()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00249"></a><span class="lineno"> 249</span> {</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  float32x4x4_t res =</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  {</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  {</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  vdupq_n_f32(a),</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  vdupq_n_f32(a),</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  vdupq_n_f32(a),</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  vdupq_n_f32(a),</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  }</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  };</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ad7eb7d308bb87e94eb693bc13eda5adc">vqcvtq_qs8_f32</a>(res, fixed_point_position);</div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> }</div>
+<div class="fragment"><div class="line"><a name="l00249"></a><span class="lineno"> 249</span> {</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  float32x4x4_t res =</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  {</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  {</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  vdupq_n_f32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>),</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  vdupq_n_f32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>),</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  vdupq_n_f32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>),</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  vdupq_n_f32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>),</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  }</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  };</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ad7eb7d308bb87e94eb693bc13eda5adc">vqcvtq_qs8_f32</a>(res, fixed_point_position);</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad7eb7d308bb87e94eb693bc13eda5adc"><div class="ttname"><a href="namespacearm__compute.xhtml#ad7eb7d308bb87e94eb693bc13eda5adc">arm_compute::vqcvtq_qs8_f32</a></div><div class="ttdeci">qint8x16_t vqcvtq_qs8_f32(const float32x4x4_t &a, int fixed_point_position)</div><div class="ttdoc">Convert a float vector with 4x4 elements to 8 bit fixed point vector with 16 elements. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00909">NEFixedPoint.inl:909</a></div></div>
</div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="a829992d2c673006879696821024df5b7"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">float16x8_t vexpq_f16 </td>
- <td>(</td>
- <td class="paramtype">float16x8_t </td>
- <td class="paramname"><em>x</em></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>Calculate exponential. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input vector value in F16 format.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The calculated exponent. </dd></dl>
-
-<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00261">261</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
-
-<p>References <a class="el" href="_n_e_math_8inl_source.xhtml#l00173">exp_tab_f16</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00249">vtaylor_polyq_f16()</a>.</p>
-
-<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00300">vpowq_f16()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00234">vtanhq_f16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00262"></a><span class="lineno"> 262</span> {</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keyword">static</span> <span class="keyword">const</span> float16x8_t CONST_LN2 = vdupq_n_f16(0.6931471805f); <span class="comment">// ln(2)</span></div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keyword">static</span> <span class="keyword">const</span> float16x8_t CONST_INV_LN2 = vdupq_n_f16(1.4426950408f); <span class="comment">// 1/ln(2)</span></div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keyword">static</span> <span class="keyword">const</span> float16x8_t CONST_0 = vdupq_n_f16(0.f);</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keyword">static</span> <span class="keyword">const</span> int16x8_t CONST_NEGATIVE_126 = vdupq_n_s16(-126);</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keyword">const</span> int16x8_t m = vcvtq_s16_f16(vmulq_f16(x, CONST_INV_LN2));</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="keyword">const</span> float16x8_t val = vsubq_f16(x, vmulq_f16(vcvtq_f16_s16(m), CONST_LN2));</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="comment">// Polynomial Approximation</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  float16x8_t poly = <a class="code" href="namespacearm__compute.xhtml#afaad64bc527ee67d3374b67610a34a13">vtaylor_polyq_f16</a>(val, <a class="code" href="namespacearm__compute.xhtml#a2260e62edc9c3e04a06e8016136b10b1">exp_tab_f16</a>);</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <span class="comment">// Reconstruct</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  poly = vreinterpretq_f16_s16(vqaddq_s16(vreinterpretq_s16_f16(poly), vqshlq_n_s16(m, 9)));</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  poly = vbslq_f16(vcltq_s16(m, CONST_NEGATIVE_126), CONST_0, poly);</div>
-<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keywordflow">return</span> poly;</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_afaad64bc527ee67d3374b67610a34a13"><div class="ttname"><a href="namespacearm__compute.xhtml#afaad64bc527ee67d3374b67610a34a13">arm_compute::vtaylor_polyq_f16</a></div><div class="ttdeci">float16x8_t vtaylor_polyq_f16(float16x8_t x, const std::array< float16x8_t, 8 > &coeffs)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00249">NEMath.inl:249</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a2260e62edc9c3e04a06e8016136b10b1"><div class="ttname"><a href="namespacearm__compute.xhtml#a2260e62edc9c3e04a06e8016136b10b1">arm_compute::exp_tab_f16</a></div><div class="ttdeci">const std::array< float16x8_t, 8 > exp_tab_f16</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00173">NEMath.inl:173</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
<a class="anchor" id="ade3ef16de304661943c900ac9a47d28f"></a>
<div class="memitem">
<div class="memproto">
@@ -18465,30 +19035,11 @@
<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00113">113</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
-<p>References <a class="el" href="_n_e_math_8inl_source.xhtml#l00028">exp_tab</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00101">vtaylor_polyq_f32()</a>.</p>
+<p>References <a class="el" href="_n_e_math_8inl_source.xhtml#l00101">vtaylor_polyq_f32()</a>.</p>
<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00167">vpowq_f32()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00152">vtanhq_f32()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> {</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_LN2 = vdupq_n_f32(0.6931471805f); <span class="comment">// ln(2)</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_INV_LN2 = vdupq_n_f32(1.4426950408f); <span class="comment">// 1/ln(2)</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_0 = vdupq_n_f32(0.f);</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keyword">static</span> <span class="keyword">const</span> int32x4_t CONST_NEGATIVE_126 = vdupq_n_s32(-126);</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  int32x4_t m = vcvtq_s32_f32(vmulq_f32(x, CONST_INV_LN2));</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  float32x4_t val = vmlsq_f32(x, vcvtq_f32_s32(m), CONST_LN2);</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="comment">// Polynomial Approximation</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  float32x4_t poly = <a class="code" href="namespacearm__compute.xhtml#a4fa76a98dce5ed1b655ff840f2ce6e57">vtaylor_polyq_f32</a>(val, <a class="code" href="namespacearm__compute.xhtml#a869945609357fa552d94eb16f7aad4e9">exp_tab</a>);</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="comment">// Reconstruct</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  poly = vreinterpretq_f32_s32(vqaddq_s32(vreinterpretq_s32_f32(poly), vqshlq_n_s32(m, 23)));</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  poly = vbslq_f32(vcltq_s32(m, CONST_NEGATIVE_126), CONST_0, poly);</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">return</span> poly;</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a869945609357fa552d94eb16f7aad4e9"><div class="ttname"><a href="namespacearm__compute.xhtml#a869945609357fa552d94eb16f7aad4e9">arm_compute::exp_tab</a></div><div class="ttdeci">const std::array< float32x4_t, 8 > exp_tab</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00028">NEMath.inl:28</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a4fa76a98dce5ed1b655ff840f2ce6e57"><div class="ttname"><a href="namespacearm__compute.xhtml#a4fa76a98dce5ed1b655ff840f2ce6e57">arm_compute::vtaylor_polyq_f32</a></div><div class="ttdeci">float32x4_t vtaylor_polyq_f32(float32x4_t x, const std::array< float32x4_t, 8 > &coeffs)</div><div class="ttdoc">Perform a 7th degree polynomial approximation using Estrin's method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00101">NEMath.inl:101</a></div></div>
+<div class="fragment"><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> {</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_LN2 = vdupq_n_f32(0.6931471805f); <span class="comment">// ln(2)</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_INV_LN2 = vdupq_n_f32(1.4426950408f); <span class="comment">// 1/ln(2)</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_0 = vdupq_n_f32(0.f);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keyword">static</span> <span class="keyword">const</span> int32x4_t CONST_NEGATIVE_126 = vdupq_n_s32(-126);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  int32x4_t m = vcvtq_s32_f32(vmulq_f32(x, CONST_INV_LN2));</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  float32x4_t val = vmlsq_f32(x, vcvtq_f32_s32(m), CONST_LN2);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="comment">// Polynomial Approximation</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  float32x4_t poly = <a class="code" href="namespacearm__compute.xhtml#a4fa76a98dce5ed1b655ff840f2ce6e57">vtaylor_polyq_f32</a>(val, <a class="code" href="namespacearm__compute.xhtml#a869945609357fa552d94eb16f7aad4e9">exp_tab</a>);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="comment">// Reconstruct</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  poly = vreinterpretq_f32_s32(vqaddq_s32(vreinterpretq_s32_f32(poly), vqshlq_n_s32(m, 23)));</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  poly = vbslq_f32(vcltq_s32(m, CONST_NEGATIVE_126), CONST_0, poly);</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">return</span> poly;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a869945609357fa552d94eb16f7aad4e9"><div class="ttname"><a href="namespacearm__compute.xhtml#a869945609357fa552d94eb16f7aad4e9">arm_compute::exp_tab</a></div><div class="ttdeci">const std::array< float32x4_t, 8 > exp_tab</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00028">NEMath.inl:28</a></div></div>
+<div class="ttc" id="namespacearm__compute_xhtml_a4fa76a98dce5ed1b655ff840f2ce6e57"><div class="ttname"><a href="namespacearm__compute.xhtml#a4fa76a98dce5ed1b655ff840f2ce6e57">arm_compute::vtaylor_polyq_f32</a></div><div class="ttdeci">float32x4_t vtaylor_polyq_f32(float32x4_t x, const std::array< float32x4_t, 8 > &coeffs)</div><div class="ttdoc">Perform a 7th degree polynomial approximation using Estrin&#39;s method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00101">NEMath.inl:101</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -18524,15 +19075,7 @@
<dl class="section return"><dt>Returns</dt><dd>The calculated floor vector. </dd></dl>
<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00057">57</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> {</div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_1 = vdupq_n_f32(1.f);</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keyword">const</span> int32x4_t z = vcvtq_s32_f32(val);</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keyword">const</span> float32x4_t r = vcvtq_f32_s32(z);</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordflow">return</span> vbslq_f32(vcgtq_f32(r, val), vsubq_f32(r, CONST_1), r);</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> }</div>
-</div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> {</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_1 = vdupq_n_f32(1.f);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keyword">const</span> int32x4_t z = vcvtq_s32_f32(val);</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keyword">const</span> float32x4_t r = vcvtq_f32_s32(z);</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordflow">return</span> vbslq_f32(vcgtq_f32(r, val), vsubq_f32(r, CONST_1), r);</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="ac2edef8bf07bce91b37aa02b952b8ed6"></a>
@@ -18545,7 +19088,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vget_high_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -18569,9 +19112,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00148">148</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00975">vcvt_f32_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01051">vcvtq_f32_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01011">vcvtq_f32_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00704">vmlaq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00533">vmulq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00779">vqmlaq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00607">vqmulq_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> {</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">return</span> vget_high_s16(a);</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> }</div>
+<div class="fragment"><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> {</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">return</span> vget_high_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -18585,7 +19126,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vget_high_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -18607,9 +19148,7 @@
<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (8 elements) </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00143">143</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> {</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">return</span> vget_high_s8(a);</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> }</div>
+<div class="fragment"><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> {</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">return</span> vget_high_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -18623,7 +19162,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vget_low_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -18647,9 +19186,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00138">138</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00975">vcvt_f32_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01051">vcvtq_f32_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01011">vcvtq_f32_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00704">vmlaq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00533">vmulq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00779">vqmlaq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00607">vqmulq_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> {</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">return</span> vget_low_s16(a);</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> }</div>
+<div class="fragment"><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> {</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">return</span> vget_low_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -18663,7 +19200,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vget_low_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -18685,50 +19222,7 @@
<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (8 elements) </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00133">133</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> {</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordflow">return</span> vget_low_s8(a);</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> }</div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="aba029f555d1868e560b8a278bdf87341"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">float16x4_t vinv_f16 </td>
- <td>(</td>
- <td class="paramtype">float16x4_t </td>
- <td class="paramname"><em>x</em></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>Calculate reciprocal. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The calculated reciprocal. </dd></dl>
-
-<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00218">218</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> {</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  float16x4_t recip = vrecpe_f16(x);</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  recip = vmul_f16(vrecps_f16(x, recip), recip);</div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  recip = vmul_f16(vrecps_f16(x, recip), recip);</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">return</span> recip;</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> }</div>
+<div class="fragment"><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> {</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordflow">return</span> vget_low_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -18764,56 +19258,7 @@
<dl class="section return"><dt>Returns</dt><dd>The calculated reciprocal. </dd></dl>
<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00085">85</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00086"></a><span class="lineno"> 86</span> {</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  float32x2_t recip = vrecpe_f32(x);</div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  recip = vmul_f32(vrecps_f32(x, recip), recip);</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  recip = vmul_f32(vrecps_f32(x, recip), recip);</div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">return</span> recip;</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> }</div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a5ccd23ffe952767d73334cabcdbff246"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">float16x8_t vinvq_f16 </td>
- <td>(</td>
- <td class="paramtype">float16x8_t </td>
- <td class="paramname"><em>x</em></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>Calculate reciprocal. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The calculated reciprocal. </dd></dl>
-
-<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00226">226</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
-
-<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00234">vtanhq_f16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00227"></a><span class="lineno"> 227</span> {</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  float16x8_t recip = vrecpeq_f16(x);</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  recip = vmulq_f16(vrecpsq_f16(x, recip), recip);</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  recip = vmulq_f16(vrecpsq_f16(x, recip), recip);</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keywordflow">return</span> recip;</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> }</div>
-</div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00086"></a><span class="lineno"> 86</span> {</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  float32x2_t recip = vrecpe_f32(x);</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  recip = vmul_f32(vrecps_f32(x, recip), recip);</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  recip = vmul_f32(vrecps_f32(x, recip), recip);</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">return</span> recip;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="ac8f459d5899b79c00fb4042a5b3470fb"></a>
@@ -18850,54 +19295,7 @@
<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00093">93</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00152">vtanhq_f32()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> {</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  float32x4_t recip = vrecpeq_f32(x);</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  recip = vmulq_f32(vrecpsq_f32(x, recip), recip);</div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  recip = vmulq_f32(vrecpsq_f32(x, recip), recip);</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">return</span> recip;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> }</div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="ab74b7f62070607d8dfb02364664d7867"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">float16x4_t vinvsqrt_f16 </td>
- <td>(</td>
- <td class="paramtype">float16x4_t </td>
- <td class="paramname"><em>x</em></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>Calculate inverse square root. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The calculated inverse square root. </dd></dl>
-
-<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00202">202</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> {</div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  float16x4_t sqrt_reciprocal = vrsqrte_f16(x);</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  sqrt_reciprocal = vmul_f16(vrsqrts_f16(vmul_f16(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  sqrt_reciprocal = vmul_f16(vrsqrts_f16(vmul_f16(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keywordflow">return</span> sqrt_reciprocal;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> }</div>
-</div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  float32x4_t recip = vrecpeq_f32(x);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  recip = vmulq_f32(vrecpsq_f32(x, recip), recip);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  recip = vmulq_f32(vrecpsq_f32(x, recip), recip);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">return</span> recip;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a902d274ff1dbe2052b0f2364a98d2b41"></a>
@@ -18932,14 +19330,7 @@
<dl class="section return"><dt>Returns</dt><dd>The calculated inverse square root. </dd></dl>
<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00067">67</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> {</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  float32x2_t sqrt_reciprocal = vrsqrte_f32(x);</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  sqrt_reciprocal = vmul_f32(vrsqrts_f32(vmul_f32(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  sqrt_reciprocal = vmul_f32(vrsqrts_f32(vmul_f32(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordflow">return</span> sqrt_reciprocal;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> }</div>
-</div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> {</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  float32x2_t sqrt_reciprocal = vrsqrte_f32(x);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  sqrt_reciprocal = vmul_f32(vrsqrts_f32(vmul_f32(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  sqrt_reciprocal = vmul_f32(vrsqrts_f32(vmul_f32(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordflow">return</span> sqrt_reciprocal;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="aed1eb26d2b6435ae9dba79558611b415"></a>
@@ -18952,7 +19343,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vinvsqrt_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -18987,33 +19378,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01729">1729</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00238">vdup_n_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00496">vmul_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01730"></a><span class="lineno"> 1730</span> {</div>
-<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_three = vdup_n_s16(3 << fixed_point_position);</div>
-<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span> </div>
-<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>  <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div>
-<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vneg_s16(vsub_s16(vdup_n_s16(16), vadd_s16(vclz_s16(a), vdup_n_s16(fixed_point_position))));</div>
-<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span> </div>
-<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>  <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div>
-<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> temp = vsub_s16(vdup_n_s16(16), vadd_s16(vclz_s16(a), vdup_n_s16(fixed_point_position)));</div>
-<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>  uint16x4_t temp_ltz = vclt_s16(temp, <a class="code" href="namespacearm__compute.xhtml#a1f6c3965dec29d8ac84ff84a164e9d8e">vdup_n_qs16</a>(0));</div>
-<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>  temp = vbsl_s16(temp_ltz, vadd_s16(temp, vdup_n_s16(1)), temp);</div>
-<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value2 = vneg_s16(vshr_n_s16(temp, 1));</div>
-<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span> </div>
-<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>  temp = vshl_s16(a, shift_value);</div>
-<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span> </div>
-<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>  <span class="comment">// Initial guess</span></div>
-<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x = temp;</div>
-<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span> </div>
-<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>  <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div>
-<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>  <span class="comment">// After five iterations we have the result for 8 bit</span></div>
-<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span>  x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>  x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>  x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>  x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>  x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span> </div>
-<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>  <span class="keywordflow">return</span> vshl_s16(x, shift_value2);</div>
-<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span> }</div>
+<div class="fragment"><div class="line"><a name="l01730"></a><span class="lineno"> 1730</span> {</div><div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_three = vdup_n_s16(3 << fixed_point_position);</div><div class="line"><a name="l01732"></a><span class="lineno"> 1732</span> </div><div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>  <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div><div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vneg_s16(vsub_s16(vdup_n_s16(16), vadd_s16(vclz_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vdup_n_s16(fixed_point_position))));</div><div class="line"><a name="l01735"></a><span class="lineno"> 1735</span> </div><div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>  <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div><div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> temp = vsub_s16(vdup_n_s16(16), vadd_s16(vclz_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vdup_n_s16(fixed_point_position)));</div><div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>  uint16x4_t temp_ltz = vclt_s16(temp, <a class="code" href="namespacearm__compute.xhtml#a1f6c3965dec29d8ac84ff84a164e9d8e">vdup_n_qs16</a>(0));</div><div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>  temp = vbsl_s16(temp_ltz, vadd_s16(temp, vdup_n_s16(1)), temp);</div><div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value2 = vneg_s16(vshr_n_s16(temp, 1));</div><div class="line"><a name="l01741"></a><span class="lineno"> 1741</span> </div><div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>  temp = vshl_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, shift_value);</div><div class="line"><a name="l01743"></a><span class="lineno"> 1743</span> </div><div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>  <span class="comment">// Initial guess</span></div><div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x = temp;</div><div class="line"><a name="l01746"></a><span class="lineno"> 1746</span> </div><div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>  <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div><div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>  <span class="comment">// After five iterations we have the result for 8 bit</span></div><div class="line"><a name="l01749"></a><span class="lineno"> 1749</span>  x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>  x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>  x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>  x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>  x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01754"></a><span class="lineno"> 1754</span> </div><div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>  <span class="keywordflow">return</span> vshl_s16(x, shift_value2);</div><div class="line"><a name="l01756"></a><span class="lineno"> 1756</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1f6c3965dec29d8ac84ff84a164e9d8e"><div class="ttname"><a href="namespacearm__compute.xhtml#a1f6c3965dec29d8ac84ff84a164e9d8e">arm_compute::vdup_n_qs16</a></div><div class="ttdeci">qint16x4_t vdup_n_qs16(qint16_t a)</div><div class="ttdoc">16 bit fixed point vector duplicate (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00238">NEFixedPoint.inl:238</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ac1b67e3283a1cae4d57b7f64137f5f5c"><div class="ttname"><a href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">arm_compute::vmul_qs16</a></div><div class="ttdeci">qint16x4_t vmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00496">NEFixedPoint.inl:496</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
@@ -19030,7 +19395,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vinvsqrt_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -19065,78 +19430,13 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01702">1702</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00233">vdup_n_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00479">vmul_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01703"></a><span class="lineno"> 1703</span> {</div>
-<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_three = vdup_n_s8(3 << fixed_point_position);</div>
-<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span> </div>
-<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>  <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div>
-<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vneg_s8(vsub_s8(vdup_n_s8(8), vadd_s8(vclz_s8(a), vdup_n_s8(fixed_point_position))));</div>
-<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span> </div>
-<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>  <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div>
-<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> temp = vsub_s8(vdup_n_s8(8), vadd_s8(vclz_s8(a), vdup_n_s8(fixed_point_position)));</div>
-<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>  uint8x8_t temp_ltz = vclt_s8(temp, <a class="code" href="namespacearm__compute.xhtml#a1a226812e3cfdf3494adbdd92d4a1cb3">vdup_n_qs8</a>(0));</div>
-<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>  temp = vbsl_s8(temp_ltz, vadd_s8(temp, vdup_n_s8(1)), temp);</div>
-<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value2 = vneg_s8(vshr_n_s8(temp, 1));</div>
-<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span> </div>
-<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>  temp = vshl_s8(a, shift_value);</div>
-<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span> </div>
-<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>  <span class="comment">// Initial guess</span></div>
-<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x = temp;</div>
-<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span> </div>
-<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>  <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div>
-<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>  <span class="comment">// After three iterations we have the result for 8 bit</span></div>
-<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>  x = vshr_n_s8(<a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, vsub_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>  x = vshr_n_s8(<a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, vsub_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>  x = vshr_n_s8(<a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, vsub_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span> </div>
-<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>  <span class="keywordflow">return</span> vshl_s8(x, shift_value2);</div>
-<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span> }</div>
+<div class="fragment"><div class="line"><a name="l01703"></a><span class="lineno"> 1703</span> {</div><div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_three = vdup_n_s8(3 << fixed_point_position);</div><div class="line"><a name="l01705"></a><span class="lineno"> 1705</span> </div><div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>  <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div><div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vneg_s8(vsub_s8(vdup_n_s8(8), vadd_s8(vclz_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vdup_n_s8(fixed_point_position))));</div><div class="line"><a name="l01708"></a><span class="lineno"> 1708</span> </div><div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>  <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div><div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> temp = vsub_s8(vdup_n_s8(8), vadd_s8(vclz_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vdup_n_s8(fixed_point_position)));</div><div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>  uint8x8_t temp_ltz = vclt_s8(temp, <a class="code" href="namespacearm__compute.xhtml#a1a226812e3cfdf3494adbdd92d4a1cb3">vdup_n_qs8</a>(0));</div><div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>  temp = vbsl_s8(temp_ltz, vadd_s8(temp, vdup_n_s8(1)), temp);</div><div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value2 = vneg_s8(vshr_n_s8(temp, 1));</div><div class="line"><a name="l01714"></a><span class="lineno"> 1714</span> </div><div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>  temp = vshl_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, shift_value);</div><div class="line"><a name="l01716"></a><span class="lineno"> 1716</span> </div><div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>  <span class="comment">// Initial guess</span></div><div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x = temp;</div><div class="line"><a name="l01719"></a><span class="lineno"> 1719</span> </div><div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>  <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div><div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>  <span class="comment">// After three iterations we have the result for 8 bit</span></div><div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>  x = vshr_n_s8(<a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, vsub_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>  x = vshr_n_s8(<a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, vsub_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>  x = vshr_n_s8(<a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, vsub_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01725"></a><span class="lineno"> 1725</span> </div><div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>  <span class="keywordflow">return</span> vshl_s8(x, shift_value2);</div><div class="line"><a name="l01727"></a><span class="lineno"> 1727</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1a226812e3cfdf3494adbdd92d4a1cb3"><div class="ttname"><a href="namespacearm__compute.xhtml#a1a226812e3cfdf3494adbdd92d4a1cb3">arm_compute::vdup_n_qs8</a></div><div class="ttdeci">qint8x8_t vdup_n_qs8(qint8_t a)</div><div class="ttdoc">8 bit fixed point vector duplicate (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00233">NEFixedPoint.inl:233</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_afccf1305c480f2338af8925bba6b54cd"><div class="ttname"><a href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">arm_compute::vmul_qs8</a></div><div class="ttdeci">qint8x8_t vmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00479">NEFixedPoint.inl:479</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
</div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="a78ef1abe4de2152c366a40f638f7fb91"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">float16x8_t vinvsqrtq_f16 </td>
- <td>(</td>
- <td class="paramtype">float16x8_t </td>
- <td class="paramname"><em>x</em></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>Calculate inverse square root. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Input value.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The calculated inverse square root. </dd></dl>
-
-<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00210">210</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> {</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  float16x8_t sqrt_reciprocal = vrsqrteq_f16(x);</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  sqrt_reciprocal = vmulq_f16(vrsqrtsq_f16(vmulq_f16(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  sqrt_reciprocal = vmulq_f16(vrsqrtsq_f16(vmulq_f16(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordflow">return</span> sqrt_reciprocal;</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> }</div>
-</div><!-- fragment -->
-</div>
-</div>
<a class="anchor" id="a2e27db6b9692c4c2013653e276af654d"></a>
<div class="memitem">
<div class="memproto">
@@ -19169,14 +19469,7 @@
<dl class="section return"><dt>Returns</dt><dd>The calculated inverse square root. </dd></dl>
<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00076">76</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> {</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  float32x4_t sqrt_reciprocal = vrsqrteq_f32(x);</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  sqrt_reciprocal = vmulq_f32(vrsqrtsq_f32(vmulq_f32(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  sqrt_reciprocal = vmulq_f32(vrsqrtsq_f32(vmulq_f32(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordflow">return</span> sqrt_reciprocal;</div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> }</div>
-</div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> {</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  float32x4_t sqrt_reciprocal = vrsqrteq_f32(x);</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  sqrt_reciprocal = vmulq_f32(vrsqrtsq_f32(vmulq_f32(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  sqrt_reciprocal = vmulq_f32(vrsqrtsq_f32(vmulq_f32(x, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal);</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordflow">return</span> sqrt_reciprocal;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a7ddffc87df07ac9782f4e498865c66d4"></a>
@@ -19189,7 +19482,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vinvsqrtq_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -19224,33 +19517,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01841">1841</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="namespacearm__compute.xhtml#a740436aed8843612da747f40ff926875">vdupq_n_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00533">vmulq_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01842"></a><span class="lineno"> 1842</span> {</div>
-<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_three = vdupq_n_s16(3 << fixed_point_position);</div>
-<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span> </div>
-<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span>  <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div>
-<div class="line"><a name="l01846"></a><span class="lineno"> 1846</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vnegq_s16(vsubq_s16(vdupq_n_s16(16), vaddq_s16(vclzq_s16(a), vdupq_n_s16(fixed_point_position))));</div>
-<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span> </div>
-<div class="line"><a name="l01848"></a><span class="lineno"> 1848</span>  <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div>
-<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> temp = vsubq_s16(vdupq_n_s16(16), vaddq_s16(vclzq_s16(a), vdupq_n_s16(fixed_point_position)));</div>
-<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span>  uint16x8_t temp_ltz = vcltq_s16(temp, <a class="code" href="namespacearm__compute.xhtml#aed2fc8d1b9642b7625379a930ef4914a">vdupq_n_qs16</a>(0));</div>
-<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span>  temp = vbslq_s16(temp_ltz, vaddq_s16(temp, vdupq_n_s16(1)), temp);</div>
-<div class="line"><a name="l01852"></a><span class="lineno"> 1852</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value2 = vnegq_s16(vshrq_n_s16(temp, 1));</div>
-<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span> </div>
-<div class="line"><a name="l01854"></a><span class="lineno"> 1854</span>  temp = vshlq_s16(a, shift_value);</div>
-<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span> </div>
-<div class="line"><a name="l01856"></a><span class="lineno"> 1856</span>  <span class="comment">// Initial guess</span></div>
-<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x = temp;</div>
-<div class="line"><a name="l01858"></a><span class="lineno"> 1858</span> </div>
-<div class="line"><a name="l01859"></a><span class="lineno"> 1859</span>  <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div>
-<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span>  <span class="comment">// After five iterations we have the result for 16 bit</span></div>
-<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span>  x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span>  x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01863"></a><span class="lineno"> 1863</span>  x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01864"></a><span class="lineno"> 1864</span>  x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span>  x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span> </div>
-<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span>  <span class="keywordflow">return</span> vshlq_s16(x, shift_value2);</div>
-<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span> }</div>
+<div class="fragment"><div class="line"><a name="l01842"></a><span class="lineno"> 1842</span> {</div><div class="line"><a name="l01843"></a><span class="lineno"> 1843</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_three = vdupq_n_s16(3 << fixed_point_position);</div><div class="line"><a name="l01844"></a><span class="lineno"> 1844</span> </div><div class="line"><a name="l01845"></a><span class="lineno"> 1845</span>  <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div><div class="line"><a name="l01846"></a><span class="lineno"> 1846</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vnegq_s16(vsubq_s16(vdupq_n_s16(16), vaddq_s16(vclzq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vdupq_n_s16(fixed_point_position))));</div><div class="line"><a name="l01847"></a><span class="lineno"> 1847</span> </div><div class="line"><a name="l01848"></a><span class="lineno"> 1848</span>  <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div><div class="line"><a name="l01849"></a><span class="lineno"> 1849</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> temp = vsubq_s16(vdupq_n_s16(16), vaddq_s16(vclzq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vdupq_n_s16(fixed_point_position)));</div><div class="line"><a name="l01850"></a><span class="lineno"> 1850</span>  uint16x8_t temp_ltz = vcltq_s16(temp, <a class="code" href="namespacearm__compute.xhtml#aed2fc8d1b9642b7625379a930ef4914a">vdupq_n_qs16</a>(0));</div><div class="line"><a name="l01851"></a><span class="lineno"> 1851</span>  temp = vbslq_s16(temp_ltz, vaddq_s16(temp, vdupq_n_s16(1)), temp);</div><div class="line"><a name="l01852"></a><span class="lineno"> 1852</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value2 = vnegq_s16(vshrq_n_s16(temp, 1));</div><div class="line"><a name="l01853"></a><span class="lineno"> 1853</span> </div><div class="line"><a name="l01854"></a><span class="lineno"> 1854</span>  temp = vshlq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, shift_value);</div><div class="line"><a name="l01855"></a><span class="lineno"> 1855</span> </div><div class="line"><a name="l01856"></a><span class="lineno"> 1856</span>  <span class="comment">// Initial guess</span></div><div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x = temp;</div><div class="line"><a name="l01858"></a><span class="lineno"> 1858</span> </div><div class="line"><a name="l01859"></a><span class="lineno"> 1859</span>  <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div><div class="line"><a name="l01860"></a><span class="lineno"> 1860</span>  <span class="comment">// After five iterations we have the result for 16 bit</span></div><div class="line"><a name="l01861"></a><span class="lineno"> 1861</span>  x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01862"></a><span class="lineno"> 1862</span>  x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01863"></a><span class="lineno"> 1863</span>  x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01864"></a><span class="lineno"> 1864</span>  x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01865"></a><span class="lineno"> 1865</span>  x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01866"></a><span class="lineno"> 1866</span> </div><div class="line"><a name="l01867"></a><span class="lineno"> 1867</span>  <span class="keywordflow">return</span> vshlq_s16(x, shift_value2);</div><div class="line"><a name="l01868"></a><span class="lineno"> 1868</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_aed2fc8d1b9642b7625379a930ef4914a"><div class="ttname"><a href="namespacearm__compute.xhtml#aed2fc8d1b9642b7625379a930ef4914a">arm_compute::vdupq_n_qs16</a></div><div class="ttdeci">qint16x8_t vdupq_n_qs16(qint16_t a)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00274">NEFixedPoint.inl:274</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a74ea79cda0ff6a819b2e5176fe0fc622"><div class="ttname"><a href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">arm_compute::vmulq_qs16</a></div><div class="ttdeci">qint16x8_t vmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00533">NEFixedPoint.inl:533</a></div></div>
@@ -19267,7 +19534,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vinvsqrtq_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -19302,31 +19569,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01814">1814</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00243">vdupq_n_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00513">vmulq_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01815"></a><span class="lineno"> 1815</span> {</div>
-<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_three = vdupq_n_s8(3 << fixed_point_position);</div>
-<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span> </div>
-<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span>  <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div>
-<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vnegq_s8(vsubq_s8(vdupq_n_s8(8), vaddq_s8(vclzq_s8(a), vdupq_n_s8(fixed_point_position))));</div>
-<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span> </div>
-<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span>  <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div>
-<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> temp = vsubq_s8(vdupq_n_s8(8), vaddq_s8(vclzq_s8(a), vdupq_n_s8(fixed_point_position)));</div>
-<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>  uint8x16_t temp_ltz = vcltq_s8(temp, <a class="code" href="namespacearm__compute.xhtml#adbd4df93ed00fcda54f91e669ea2be04">vdupq_n_qs8</a>(0));</div>
-<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>  temp = vbslq_s8(temp_ltz, vaddq_s8(temp, vdupq_n_s8(1)), temp);</div>
-<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value2 = vnegq_s8(vshrq_n_s8(temp, 1));</div>
-<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span> </div>
-<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>  temp = vshlq_s8(a, shift_value);</div>
-<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span> </div>
-<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>  <span class="comment">// Initial guess</span></div>
-<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x = temp;</div>
-<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span> </div>
-<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span>  <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div>
-<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span>  <span class="comment">// After three iterations we have the result for 8 bit</span></div>
-<div class="line"><a name="l01834"></a><span class="lineno"> 1834</span>  x = vshrq_n_s8(<a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, vsubq_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01835"></a><span class="lineno"> 1835</span>  x = vshrq_n_s8(<a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, vsubq_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span>  x = vshrq_n_s8(<a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, vsubq_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span> </div>
-<div class="line"><a name="l01838"></a><span class="lineno"> 1838</span>  <span class="keywordflow">return</span> vshlq_s8(x, shift_value2);</div>
-<div class="line"><a name="l01839"></a><span class="lineno"> 1839</span> }</div>
+<div class="fragment"><div class="line"><a name="l01815"></a><span class="lineno"> 1815</span> {</div><div class="line"><a name="l01816"></a><span class="lineno"> 1816</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_three = vdupq_n_s8(3 << fixed_point_position);</div><div class="line"><a name="l01817"></a><span class="lineno"> 1817</span> </div><div class="line"><a name="l01818"></a><span class="lineno"> 1818</span>  <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div><div class="line"><a name="l01819"></a><span class="lineno"> 1819</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vnegq_s8(vsubq_s8(vdupq_n_s8(8), vaddq_s8(vclzq_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vdupq_n_s8(fixed_point_position))));</div><div class="line"><a name="l01820"></a><span class="lineno"> 1820</span> </div><div class="line"><a name="l01821"></a><span class="lineno"> 1821</span>  <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div><div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> temp = vsubq_s8(vdupq_n_s8(8), vaddq_s8(vclzq_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vdupq_n_s8(fixed_point_position)));</div><div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>  uint8x16_t temp_ltz = vcltq_s8(temp, <a class="code" href="namespacearm__compute.xhtml#adbd4df93ed00fcda54f91e669ea2be04">vdupq_n_qs8</a>(0));</div><div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>  temp = vbslq_s8(temp_ltz, vaddq_s8(temp, vdupq_n_s8(1)), temp);</div><div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value2 = vnegq_s8(vshrq_n_s8(temp, 1));</div><div class="line"><a name="l01826"></a><span class="lineno"> 1826</span> </div><div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>  temp = vshlq_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, shift_value);</div><div class="line"><a name="l01828"></a><span class="lineno"> 1828</span> </div><div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>  <span class="comment">// Initial guess</span></div><div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x = temp;</div><div class="line"><a name="l01831"></a><span class="lineno"> 1831</span> </div><div class="line"><a name="l01832"></a><span class="lineno"> 1832</span>  <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div><div class="line"><a name="l01833"></a><span class="lineno"> 1833</span>  <span class="comment">// After three iterations we have the result for 8 bit</span></div><div class="line"><a name="l01834"></a><span class="lineno"> 1834</span>  x = vshrq_n_s8(<a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, vsubq_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01835"></a><span class="lineno"> 1835</span>  x = vshrq_n_s8(<a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, vsubq_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01836"></a><span class="lineno"> 1836</span>  x = vshrq_n_s8(<a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, vsubq_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01837"></a><span class="lineno"> 1837</span> </div><div class="line"><a name="l01838"></a><span class="lineno"> 1838</span>  <span class="keywordflow">return</span> vshlq_s8(x, shift_value2);</div><div class="line"><a name="l01839"></a><span class="lineno"> 1839</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_adbd4df93ed00fcda54f91e669ea2be04"><div class="ttname"><a href="namespacearm__compute.xhtml#adbd4df93ed00fcda54f91e669ea2be04">arm_compute::vdupq_n_qs8</a></div><div class="ttdeci">qint8x16_t vdupq_n_qs8(qint8_t a)</div><div class="ttdoc">8 bit fixed point vector duplicate (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00243">NEFixedPoint.inl:243</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a031b17d4102856aa4d6bf7ebf83bf0ab"><div class="ttname"><a href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">arm_compute::vmulq_qs8</a></div><div class="ttdeci">qint8x16_t vmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00513">NEFixedPoint.inl:513</a></div></div>
@@ -19343,7 +19586,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vld1_dup_qs16 </td>
<td>(</td>
- <td class="paramtype">const qint16_t * </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> * </td>
<td class="paramname"><em>addr</em></td><td>)</td>
<td></td>
</tr>
@@ -19358,17 +19601,14 @@
<p>Load all lanes of 16 bit fixed point vector with same value from memory (4 elements) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 16 bit fixed point scalar value to load</td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 16 bit fixed point scalar value to load</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (4 elements) </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00178">178</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> {</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keywordflow">return</span> vld1_dup_s16(addr);</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> }</div>
-</div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> {</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keywordflow">return</span> vld1_dup_s16(addr);</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="ada853a8e19c80626633d95392d2b4a8b"></a>
@@ -19381,7 +19621,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vld1_dup_qs8 </td>
<td>(</td>
- <td class="paramtype">const qint8_t * </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> * </td>
<td class="paramname"><em>addr</em></td><td>)</td>
<td></td>
</tr>
@@ -19396,17 +19636,16 @@
<p>Load all lanes of 8 bit fixed point vector with same value from memory (8 elements) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 8 bit fixed point scalar value to load</td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 8 bit fixed point scalar value to load</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (8 elements) </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00173">173</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00174"></a><span class="lineno"> 174</span> {</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordflow">return</span> vld1_dup_s8(addr);</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> }</div>
-</div><!-- fragment -->
+
+<p>Referenced by <a class="el" href="_n_e_direct_convolution_detail_8h_source.xhtml#l00062">arm_compute::detail::load_matrix_row()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00174"></a><span class="lineno"> 174</span> {</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordflow">return</span> vld1_dup_s8(addr);</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a1470ca9d692f773f33ddbd9b3a37f1f9"></a>
@@ -19419,7 +19658,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vld1_qs16 </td>
<td>(</td>
- <td class="paramtype">const qint16_t * </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> * </td>
<td class="paramname"><em>addr</em></td><td>)</td>
<td></td>
</tr>
@@ -19434,17 +19673,14 @@
<p>Load a single 16 bit fixed point vector from memory (4 elements) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 16 bit fixed point vector to load</td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 16 bit fixed point vector to load</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (4 elements) </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00158">158</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> {</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordflow">return</span> vld1_s16(addr);</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> }</div>
-</div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> {</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordflow">return</span> vld1_s16(addr);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a77ef79482edac98140bbdfaeffb78b8f"></a>
@@ -19457,7 +19693,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vld1_qs8 </td>
<td>(</td>
- <td class="paramtype">const qint8_t * </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> * </td>
<td class="paramname"><em>addr</em></td><td>)</td>
<td></td>
</tr>
@@ -19472,17 +19708,16 @@
<p>Load a single 8 bit fixed point vector from memory (8 elements) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 8 bit fixed point vector to load</td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 8 bit fixed point vector to load</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (8 elements) </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00153">153</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> {</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">return</span> vld1_s8(addr);</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> }</div>
-</div><!-- fragment -->
+
+<p>Referenced by <a class="el" href="_n_e_direct_convolution_detail_8h_source.xhtml#l00184">arm_compute::detail::convolve_3x3< 1 >()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> {</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">return</span> vld1_s8(addr);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="aa3b4b5dc205a2edb9dd2f08b0dbbf3e7"></a>
@@ -19495,7 +19730,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vld1q_dup_qs16 </td>
<td>(</td>
- <td class="paramtype">const qint16_t * </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> * </td>
<td class="paramname"><em>addr</em></td><td>)</td>
<td></td>
</tr>
@@ -19510,17 +19745,14 @@
<p>Load all lanes of 16 bit fixed point vector with same value from memory (8 elements) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 16 bit fixed point scalar value to load</td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 16 bit fixed point scalar value to load</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (8 elements) </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00188">188</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> {</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keywordflow">return</span> vld1q_dup_s16(addr);</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> }</div>
-</div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> {</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keywordflow">return</span> vld1q_dup_s16(addr);</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="ad988b528a38525b8ceca56ed8d09c801"></a>
@@ -19533,7 +19765,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vld1q_dup_qs8 </td>
<td>(</td>
- <td class="paramtype">const qint8_t * </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> * </td>
<td class="paramname"><em>addr</em></td><td>)</td>
<td></td>
</tr>
@@ -19548,17 +19780,14 @@
<p>Load all lanes of 8 bit fixed point vector with same value from memory (16 elements) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 8 bit fixed point scalar value to load</td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 8 bit fixed point scalar value to load</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (16 elements) </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00183">183</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> {</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordflow">return</span> vld1q_dup_s8(addr);</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> }</div>
-</div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> {</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordflow">return</span> vld1q_dup_s8(addr);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="aaa2cfaf59eb25ffb975bea87844e23c6"></a>
@@ -19571,7 +19800,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vld1q_qs16 </td>
<td>(</td>
- <td class="paramtype">const qint16_t * </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> * </td>
<td class="paramname"><em>addr</em></td><td>)</td>
<td></td>
</tr>
@@ -19586,17 +19815,14 @@
<p>Load a single 16 bit fixed point vector from memory (8 elements) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 16 bit fixed point vector to load</td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 16 bit fixed point vector to load</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>16 bit fixed point vector (8 elements) </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00168">168</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00169"></a><span class="lineno"> 169</span> {</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keywordflow">return</span> vld1q_s16(addr);</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> }</div>
-</div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00169"></a><span class="lineno"> 169</span> {</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keywordflow">return</span> vld1q_s16(addr);</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="aba22755f7d41ffc62e23e5594751ecaa"></a>
@@ -19609,7 +19835,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vld1q_qs8 </td>
<td>(</td>
- <td class="paramtype">const qint8_t * </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> * </td>
<td class="paramname"><em>addr</em></td><td>)</td>
<td></td>
</tr>
@@ -19624,17 +19850,14 @@
<p>Load a single 8 bit fixed point vector from memory (16 elements) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 8 bit fixed point vector to load</td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 8 bit fixed point vector to load</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>8 bit fixed point vector (16 elements) </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00163">163</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> {</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">return</span> vld1q_s8(addr);</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> }</div>
-</div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> {</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">return</span> vld1q_s8(addr);</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a8bab58697ee7d7df117384a05d4e2f92"></a>
@@ -19644,7 +19867,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a> arm_compute::vld2q_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16_t * </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> * </td>
<td class="paramname"><em>addr</em></td><td>)</td>
<td></td>
</tr>
@@ -19654,7 +19877,7 @@
<p>Load two 16 bit fixed point vectors from memory (8x2 elements) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address of the 16 bit fixed point vectors to load</td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address of the 16 bit fixed point vectors to load</td></tr>
</table>
</dd>
</dl>
@@ -19672,7 +19895,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a> arm_compute::vld2q_qs16 </td>
<td>(</td>
- <td class="paramtype">const qint16_t * </td>
+ <td class="paramtype">const <a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> * </td>
<td class="paramname"><em>addr</em></td><td>)</td>
<td></td>
</tr>
@@ -19685,10 +19908,7 @@
</div><div class="memdoc">
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00193">193</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> {</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="keywordflow">return</span> vld2q_s16(addr);</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> }</div>
-</div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> {</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="keywordflow">return</span> vld2q_s16(addr);</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="ad9e26d94cb0b929e30b88400cd5c60d2"></a>
@@ -19701,7 +19921,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vlog_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -19736,43 +19956,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01585">1585</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00496">vmul_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01103">vrecip_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01586"></a><span class="lineno"> 1586</span> {</div>
-<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1 << fixed_point_position);</div>
-<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_fifteen_dec = vdup_n_s16(15);</div>
-<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_ln2 = vdup_n_s16(0x58B9 >> (15 - fixed_point_position)); <span class="comment">// ln(2)</span></div>
-<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span> </div>
-<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>  <span class="comment">// If 0 < a < 1, calculate log(1/x)</span></div>
-<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>  uint16x4_t calc_reciprocal = vclt_s16(a, const_one);</div>
-<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> recip = vdup_n_s16(0);</div>
-<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>  recip = vbsl_s16(calc_reciprocal, recip, a);</div>
-<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span> </div>
-<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>  <span class="comment">// Calculate reciprocal</span></div>
-<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>  recip = <a class="code" href="namespacearm__compute.xhtml#a8e14017f1276f4a4e14078d93ed692bd">vrecip_qs16</a>(recip, fixed_point_position);</div>
-<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>  a = vbsl_s16(calc_reciprocal, recip, a);</div>
-<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span> </div>
-<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>  <span class="comment">// Get decimal part of a</span></div>
-<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vdup_n_s16(-fixed_point_position);</div>
-<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> dec_a = vshl_s16(a, shift_value); <span class="comment">// a >> fixed_point_position</span></div>
-<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span> </div>
-<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>  <span class="comment">// Get exponent of 2^n which is equal or less than dec_a</span></div>
-<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>  shift_value = vsub_s16(const_fifteen_dec, vclz_s16(dec_a));</div>
-<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span> </div>
-<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>  <span class="comment">// Get x to range (1, 2]</span></div>
-<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value_neg = vneg_s16(shift_value);</div>
-<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> temp = vsub_s16(vrshl_s16(a, shift_value_neg), const_one);</div>
-<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = vmul_s16(shift_value, const_one);</div>
-<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span> </div>
-<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>  <span class="comment">// Polynomial Approximation</span></div>
-<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> poly = vtaylor_poly_qs16<true>(temp, fixed_point_position);</div>
-<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span> </div>
-<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>  <span class="comment">// Reconstruct</span></div>
-<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>  poly = <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(vadd_s16(poly, sum), const_ln2, fixed_point_position);</div>
-<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span> </div>
-<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>  <span class="comment">// Set negative value for 0 < a < 1</span></div>
-<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>  poly = vbsl_s16(calc_reciprocal, vneg_s16(poly), poly);</div>
-<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span> </div>
-<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>  <span class="keywordflow">return</span> poly;</div>
-<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span> }</div>
+<div class="fragment"><div class="line"><a name="l01586"></a><span class="lineno"> 1586</span> {</div><div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1 << fixed_point_position);</div><div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_fifteen_dec = vdup_n_s16(15);</div><div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_ln2 = vdup_n_s16(0x58B9 >> (15 - fixed_point_position)); <span class="comment">// ln(2)</span></div><div class="line"><a name="l01590"></a><span class="lineno"> 1590</span> </div><div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>  <span class="comment">// If 0 < a < 1, calculate log(1/x)</span></div><div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>  uint16x4_t calc_reciprocal = vclt_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, const_one);</div><div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> recip = vdup_n_s16(0);</div><div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>  recip = vbsl_s16(calc_reciprocal, recip, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l01595"></a><span class="lineno"> 1595</span> </div><div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>  <span class="comment">// Calculate reciprocal</span></div><div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>  recip = <a class="code" href="namespacearm__compute.xhtml#a8e14017f1276f4a4e14078d93ed692bd">vrecip_qs16</a>(recip, fixed_point_position);</div><div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> = vbsl_s16(calc_reciprocal, recip, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l01599"></a><span class="lineno"> 1599</span> </div><div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>  <span class="comment">// Get decimal part of a</span></div><div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vdup_n_s16(-fixed_point_position);</div><div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> dec_a = vshl_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, shift_value); <span class="comment">// a >> fixed_point_position</span></div><div class="line"><a name="l01603"></a><span class="lineno"> 1603</span> </div><div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>  <span class="comment">// Get exponent of 2^n which is equal or less than dec_a</span></div><div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>  shift_value = vsub_s16(const_fifteen_dec, vclz_s16(dec_a));</div><div class="line"><a name="l01606"></a><span class="lineno"> 1606</span> </div><div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>  <span class="comment">// Get x to range (1, 2]</span></div><div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value_neg = vneg_s16(shift_value);</div><div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> temp = vsub_s16(vrshl_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, shift_value_neg), const_one);</div><div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = vmul_s16(shift_value, const_one);</div><div class="line"><a name="l01611"></a><span class="lineno"> 1611</span> </div><div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>  <span class="comment">// Polynomial Approximation</span></div><div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> poly = vtaylor_poly_qs16<true>(temp, fixed_point_position);</div><div class="line"><a name="l01614"></a><span class="lineno"> 1614</span> </div><div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>  <span class="comment">// Reconstruct</span></div><div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>  poly = <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(vadd_s16(poly, sum), const_ln2, fixed_point_position);</div><div class="line"><a name="l01617"></a><span class="lineno"> 1617</span> </div><div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>  <span class="comment">// Set negative value for 0 < a < 1</span></div><div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>  poly = vbsl_s16(calc_reciprocal, vneg_s16(poly), poly);</div><div class="line"><a name="l01620"></a><span class="lineno"> 1620</span> </div><div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>  <span class="keywordflow">return</span> poly;</div><div class="line"><a name="l01622"></a><span class="lineno"> 1622</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="reduction__operation_8cl_xhtml_ab0df00f5333da51860deb93deb44a782"><div class="ttname"><a href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a></div><div class="ttdeci">DATA_TYPE sum(__global const DATA_TYPE *input)</div><div class="ttdoc">Calculate sum of a vector. </div><div class="ttdef"><b>Definition:</b> <a href="reduction__operation_8cl_source.xhtml#l00052">reduction_operation.cl:52</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ac1b67e3283a1cae4d57b7f64137f5f5c"><div class="ttname"><a href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">arm_compute::vmul_qs16</a></div><div class="ttdeci">qint16x4_t vmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00496">NEFixedPoint.inl:496</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
@@ -19790,7 +19974,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vlog_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -19825,43 +20009,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01546">1546</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00479">vmul_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01077">vrecip_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01547"></a><span class="lineno"> 1547</span> {</div>
-<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1 << fixed_point_position);</div>
-<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_seven_dec = vdup_n_s8(7);</div>
-<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_ln2 = vdup_n_s8(0x58 >> (7 - fixed_point_position)); <span class="comment">// ln(2)</span></div>
-<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span> </div>
-<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>  <span class="comment">// If 0 < a < 1, calculate log(1/x)</span></div>
-<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>  uint8x8_t calc_reciprocal = vclt_s8(a, const_one);</div>
-<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> recip = vdup_n_s8(0);</div>
-<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>  recip = vbsl_s8(calc_reciprocal, recip, a);</div>
-<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span> </div>
-<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>  <span class="comment">// Calculate reciprocal</span></div>
-<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>  recip = <a class="code" href="namespacearm__compute.xhtml#aa24b270b0193ad8983dfecd6105c4936">vrecip_qs8</a>(recip, fixed_point_position);</div>
-<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>  a = vbsl_s8(calc_reciprocal, recip, a);</div>
-<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span> </div>
-<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>  <span class="comment">// Get decimal part of a</span></div>
-<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vdup_n_s8(-fixed_point_position);</div>
-<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> dec_a = vshl_s8(a, shift_value); <span class="comment">// a >> fixed_point_position</span></div>
-<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> </div>
-<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>  <span class="comment">// Get exponent of 2^n which is equal or less than dec_a</span></div>
-<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>  shift_value = vsub_s8(const_seven_dec, vclz_s8(dec_a));</div>
-<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span> </div>
-<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>  <span class="comment">// Get x to range (1, 2]</span></div>
-<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value_neg = vneg_s8(shift_value);</div>
-<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> temp = vsub_s8(vrshl_s8(a, shift_value_neg), const_one);</div>
-<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = vmul_s8(shift_value, const_one);</div>
-<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span> </div>
-<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>  <span class="comment">// Polynomial Approximation</span></div>
-<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> poly = vtaylor_poly_qs8<true>(temp, fixed_point_position);</div>
-<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> </div>
-<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>  <span class="comment">// Reconstruct</span></div>
-<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>  poly = <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(vadd_s8(poly, sum), const_ln2, fixed_point_position);</div>
-<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span> </div>
-<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>  <span class="comment">// Set negative value for 0 < a < 1</span></div>
-<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>  poly = vbsl_s8(calc_reciprocal, vneg_s8(poly), poly);</div>
-<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span> </div>
-<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>  <span class="keywordflow">return</span> poly;</div>
-<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span> }</div>
+<div class="fragment"><div class="line"><a name="l01547"></a><span class="lineno"> 1547</span> {</div><div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1 << fixed_point_position);</div><div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_seven_dec = vdup_n_s8(7);</div><div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_ln2 = vdup_n_s8(0x58 >> (7 - fixed_point_position)); <span class="comment">// ln(2)</span></div><div class="line"><a name="l01551"></a><span class="lineno"> 1551</span> </div><div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>  <span class="comment">// If 0 < a < 1, calculate log(1/x)</span></div><div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>  uint8x8_t calc_reciprocal = vclt_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, const_one);</div><div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> recip = vdup_n_s8(0);</div><div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>  recip = vbsl_s8(calc_reciprocal, recip, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l01556"></a><span class="lineno"> 1556</span> </div><div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>  <span class="comment">// Calculate reciprocal</span></div><div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>  recip = <a class="code" href="namespacearm__compute.xhtml#aa24b270b0193ad8983dfecd6105c4936">vrecip_qs8</a>(recip, fixed_point_position);</div><div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> = vbsl_s8(calc_reciprocal, recip, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l01560"></a><span class="lineno"> 1560</span> </div><div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>  <span class="comment">// Get decimal part of a</span></div><div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vdup_n_s8(-fixed_point_position);</div><div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> dec_a = vshl_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, shift_value); <span class="comment">// a >> fixed_point_position</span></div><div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> </div><div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>  <span class="comment">// Get exponent of 2^n which is equal or less than dec_a</span></div><div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>  shift_value = vsub_s8(const_seven_dec, vclz_s8(dec_a));</div><div class="line"><a name="l01567"></a><span class="lineno"> 1567</span> </div><div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>  <span class="comment">// Get x to range (1, 2]</span></div><div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value_neg = vneg_s8(shift_value);</div><div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> temp = vsub_s8(vrshl_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, shift_value_neg), const_one);</div><div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = vmul_s8(shift_value, const_one);</div><div class="line"><a name="l01572"></a><span class="lineno"> 1572</span> </div><div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>  <span class="comment">// Polynomial Approximation</span></div><div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> poly = vtaylor_poly_qs8<true>(temp, fixed_point_position);</div><div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> </div><div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>  <span class="comment">// Reconstruct</span></div><div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>  poly = <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(vadd_s8(poly, sum), const_ln2, fixed_point_position);</div><div class="line"><a name="l01578"></a><span class="lineno"> 1578</span> </div><div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>  <span class="comment">// Set negative value for 0 < a < 1</span></div><div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>  poly = vbsl_s8(calc_reciprocal, vneg_s8(poly), poly);</div><div class="line"><a name="l01581"></a><span class="lineno"> 1581</span> </div><div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>  <span class="keywordflow">return</span> poly;</div><div class="line"><a name="l01583"></a><span class="lineno"> 1583</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="reduction__operation_8cl_xhtml_ab0df00f5333da51860deb93deb44a782"><div class="ttname"><a href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a></div><div class="ttdeci">DATA_TYPE sum(__global const DATA_TYPE *input)</div><div class="ttdoc">Calculate sum of a vector. </div><div class="ttdef"><b>Definition:</b> <a href="reduction__operation_8cl_source.xhtml#l00052">reduction_operation.cl:52</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_afccf1305c480f2338af8925bba6b54cd"><div class="ttname"><a href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">arm_compute::vmul_qs8</a></div><div class="ttdeci">qint8x8_t vmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00479">NEFixedPoint.inl:479</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_aa24b270b0193ad8983dfecd6105c4936"><div class="ttname"><a href="namespacearm__compute.xhtml#aa24b270b0193ad8983dfecd6105c4936">arm_compute::vrecip_qs8</a></div><div class="ttdeci">qint8x8_t vrecip_qs8(qint8x8_t a, int fixed_point_position)</div><div class="ttdoc">Calculate reciprocal of a fixed point 8bit number using the Newton-Raphson method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01077">NEFixedPoint.inl:1077</a></div></div>
@@ -19869,54 +20017,6 @@
</div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="a38bedb9142df17a66ff1b90974f19512"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">float16x8_t arm_compute::vlogq_f16 </td>
- <td>(</td>
- <td class="paramtype">float16x8_t </td>
- <td class="paramname"><em>x</em></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>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00282">282</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
-
-<p>References <a class="el" href="_n_e_math_8inl_source.xhtml#l00188">log_tab_f16</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00249">vtaylor_polyq_f16()</a>.</p>
-
-<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00300">vpowq_f16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00283"></a><span class="lineno"> 283</span> {</div>
-<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="keyword">static</span> <span class="keyword">const</span> int16x8_t CONST_127 = vdupq_n_s16(127); <span class="comment">// 127</span></div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keyword">static</span> <span class="keyword">const</span> float16x8_t CONST_LN2 = vdupq_n_f16(0.6931471805f); <span class="comment">// ln(2)</span></div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="comment">// Extract exponent</span></div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keyword">const</span> int16x8_t m = vsubq_s16(vreinterpretq_s16_u16(vshrq_n_u16(vreinterpretq_u16_f16(x), 9)), CONST_127);</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keyword">const</span> float16x8_t val = vreinterpretq_f16_s16(vsubq_s16(vreinterpretq_s16_f16(x), vshlq_n_s16(m, 9)));</div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="comment">// Polynomial Approximation</span></div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  float16x8_t poly = <a class="code" href="namespacearm__compute.xhtml#afaad64bc527ee67d3374b67610a34a13">vtaylor_polyq_f16</a>(val, <a class="code" href="namespacearm__compute.xhtml#a0a8b2a577b2f9370e7b1c4735f007be1">log_tab_f16</a>);</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="comment">// Reconstruct</span></div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  poly = vaddq_f16(poly, vmulq_f16(vcvtq_f16_s16(m), CONST_LN2));</div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keywordflow">return</span> poly;</div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_afaad64bc527ee67d3374b67610a34a13"><div class="ttname"><a href="namespacearm__compute.xhtml#afaad64bc527ee67d3374b67610a34a13">arm_compute::vtaylor_polyq_f16</a></div><div class="ttdeci">float16x8_t vtaylor_polyq_f16(float16x8_t x, const std::array< float16x8_t, 8 > &coeffs)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00249">NEMath.inl:249</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a0a8b2a577b2f9370e7b1c4735f007be1"><div class="ttname"><a href="namespacearm__compute.xhtml#a0a8b2a577b2f9370e7b1c4735f007be1">arm_compute::log_tab_f16</a></div><div class="ttdeci">const std::array< float16x8_t, 8 > log_tab_f16</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00188">NEMath.inl:188</a></div></div>
-</div><!-- fragment -->
-</div>
-</div>
<a class="anchor" id="a37a3e03a22ad160a2e9e5c133607e020"></a>
<div class="memitem">
<div class="memproto">
@@ -19950,26 +20050,10 @@
<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00134">134</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
-<p>References <a class="el" href="_n_e_math_8inl_source.xhtml#l00043">log_tab</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00101">vtaylor_polyq_f32()</a>.</p>
+<p>References <a class="el" href="_n_e_math_8inl_source.xhtml#l00101">vtaylor_polyq_f32()</a>.</p>
<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00167">vpowq_f32()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> {</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keyword">static</span> <span class="keyword">const</span> int32x4_t CONST_127 = vdupq_n_s32(127); <span class="comment">// 127</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_LN2 = vdupq_n_f32(0.6931471805f); <span class="comment">// ln(2)</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="comment">// Extract exponent</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  int32x4_t m = vsubq_s32(vreinterpretq_s32_u32(vshrq_n_u32(vreinterpretq_u32_f32(x), 23)), CONST_127);</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  float32x4_t val = vreinterpretq_f32_s32(vsubq_s32(vreinterpretq_s32_f32(x), vshlq_n_s32(m, 23)));</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="comment">// Polynomial Approximation</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  float32x4_t poly = <a class="code" href="namespacearm__compute.xhtml#a4fa76a98dce5ed1b655ff840f2ce6e57">vtaylor_polyq_f32</a>(val, <a class="code" href="namespacearm__compute.xhtml#a48fb9cf404e8f7043235bf14105c9793">log_tab</a>);</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="comment">// Reconstruct</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  poly = vmlaq_f32(poly, vcvtq_f32_s32(m), CONST_LN2);</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">return</span> poly;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a4fa76a98dce5ed1b655ff840f2ce6e57"><div class="ttname"><a href="namespacearm__compute.xhtml#a4fa76a98dce5ed1b655ff840f2ce6e57">arm_compute::vtaylor_polyq_f32</a></div><div class="ttdeci">float32x4_t vtaylor_polyq_f32(float32x4_t x, const std::array< float32x4_t, 8 > &coeffs)</div><div class="ttdoc">Perform a 7th degree polynomial approximation using Estrin's method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00101">NEMath.inl:101</a></div></div>
+<div class="fragment"><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> {</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keyword">static</span> <span class="keyword">const</span> int32x4_t CONST_127 = vdupq_n_s32(127); <span class="comment">// 127</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_LN2 = vdupq_n_f32(0.6931471805f); <span class="comment">// ln(2)</span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="comment">// Extract exponent</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  int32x4_t m = vsubq_s32(vreinterpretq_s32_u32(vshrq_n_u32(vreinterpretq_u32_f32(x), 23)), CONST_127);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  float32x4_t val = vreinterpretq_f32_s32(vsubq_s32(vreinterpretq_s32_f32(x), vshlq_n_s32(m, 23)));</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="comment">// Polynomial Approximation</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  float32x4_t poly = <a class="code" href="namespacearm__compute.xhtml#a4fa76a98dce5ed1b655ff840f2ce6e57">vtaylor_polyq_f32</a>(val, <a class="code" href="namespacearm__compute.xhtml#a48fb9cf404e8f7043235bf14105c9793">log_tab</a>);</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="comment">// Reconstruct</span></div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  poly = vmlaq_f32(poly, vcvtq_f32_s32(m), CONST_LN2);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">return</span> poly;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a4fa76a98dce5ed1b655ff840f2ce6e57"><div class="ttname"><a href="namespacearm__compute.xhtml#a4fa76a98dce5ed1b655ff840f2ce6e57">arm_compute::vtaylor_polyq_f32</a></div><div class="ttdeci">float32x4_t vtaylor_polyq_f32(float32x4_t x, const std::array< float32x4_t, 8 > &coeffs)</div><div class="ttdoc">Perform a 7th degree polynomial approximation using Estrin&#39;s method. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00101">NEMath.inl:101</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a48fb9cf404e8f7043235bf14105c9793"><div class="ttname"><a href="namespacearm__compute.xhtml#a48fb9cf404e8f7043235bf14105c9793">arm_compute::log_tab</a></div><div class="ttdeci">const std::array< float32x4_t, 8 > log_tab</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00043">NEMath.inl:43</a></div></div>
</div><!-- fragment -->
</div>
@@ -19984,7 +20068,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vlogq_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -20021,43 +20105,7 @@
<p>References <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00607">vqmulq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01265">vqrecipq_qs16()</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01983">vqpowq_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01664"></a><span class="lineno"> 1664</span> {</div>
-<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1 << fixed_point_position);</div>
-<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_fifteen_dec = vdupq_n_s16(15);</div>
-<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_ln2 = vdupq_n_s16(0x58B9 >> (15 - fixed_point_position)); <span class="comment">// ln(2)</span></div>
-<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span> </div>
-<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>  <span class="comment">// If 0 < a < 1, calculate log(1/x)</span></div>
-<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>  uint16x8_t calc_reciprocal = vcltq_s16(a, const_one);</div>
-<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> recip = vdupq_n_s16(0);</div>
-<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>  recip = vbslq_s16(calc_reciprocal, a, recip);</div>
-<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span> </div>
-<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>  <span class="comment">// Calculate reciprocal</span></div>
-<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>  recip = <a class="code" href="namespacearm__compute.xhtml#a6a368d809128ff6bce989cda02c536d8">vqrecipq_qs16</a>(recip, fixed_point_position);</div>
-<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>  a = vbslq_s16(calc_reciprocal, recip, a);</div>
-<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span> </div>
-<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>  <span class="comment">// Get decimal part of a</span></div>
-<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vdupq_n_s16(-fixed_point_position);</div>
-<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> dec_a = vshlq_s16(a, shift_value); <span class="comment">// a >> fixed_point_position</span></div>
-<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span> </div>
-<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>  <span class="comment">// Get exponent of 2^n which is equal or less than dec_a</span></div>
-<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>  shift_value = vqsubq_s16(const_fifteen_dec, vclzq_s16(dec_a));</div>
-<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span> </div>
-<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>  <span class="comment">// Get x to range (1, 2]</span></div>
-<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value_neg = vnegq_s16(shift_value);</div>
-<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> temp = vqsubq_s16(vrshlq_s16(a, shift_value_neg), const_one);</div>
-<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = vmulq_s16(shift_value, const_one);</div>
-<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span> </div>
-<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>  <span class="comment">// Polynomial Approximation</span></div>
-<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> poly = vtaylor_polyq_qs16<true>(temp, fixed_point_position);</div>
-<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span> </div>
-<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>  <span class="comment">// Reconstruct</span></div>
-<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>  poly = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(vqaddq_s16(poly, sum), const_ln2, fixed_point_position);</div>
-<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span> </div>
-<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>  <span class="comment">// Set negative value for 0 < a < 1</span></div>
-<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>  poly = vbslq_s16(calc_reciprocal, vnegq_s16(poly), poly);</div>
-<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span> </div>
-<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>  <span class="keywordflow">return</span> poly;</div>
-<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span> }</div>
+<div class="fragment"><div class="line"><a name="l01664"></a><span class="lineno"> 1664</span> {</div><div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1 << fixed_point_position);</div><div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_fifteen_dec = vdupq_n_s16(15);</div><div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_ln2 = vdupq_n_s16(0x58B9 >> (15 - fixed_point_position)); <span class="comment">// ln(2)</span></div><div class="line"><a name="l01668"></a><span class="lineno"> 1668</span> </div><div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>  <span class="comment">// If 0 < a < 1, calculate log(1/x)</span></div><div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>  uint16x8_t calc_reciprocal = vcltq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, const_one);</div><div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> recip = vdupq_n_s16(0);</div><div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>  recip = vbslq_s16(calc_reciprocal, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, recip);</div><div class="line"><a name="l01673"></a><span class="lineno"> 1673</span> </div><div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>  <span class="comment">// Calculate reciprocal</span></div><div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>  recip = <a class="code" href="namespacearm__compute.xhtml#a6a368d809128ff6bce989cda02c536d8">vqrecipq_qs16</a>(recip, fixed_point_position);</div><div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> = vbslq_s16(calc_reciprocal, recip, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l01677"></a><span class="lineno"> 1677</span> </div><div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>  <span class="comment">// Get decimal part of a</span></div><div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vdupq_n_s16(-fixed_point_position);</div><div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> dec_a = vshlq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, shift_value); <span class="comment">// a >> fixed_point_position</span></div><div class="line"><a name="l01681"></a><span class="lineno"> 1681</span> </div><div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>  <span class="comment">// Get exponent of 2^n which is equal or less than dec_a</span></div><div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>  shift_value = vqsubq_s16(const_fifteen_dec, vclzq_s16(dec_a));</div><div class="line"><a name="l01684"></a><span class="lineno"> 1684</span> </div><div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>  <span class="comment">// Get x to range (1, 2]</span></div><div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value_neg = vnegq_s16(shift_value);</div><div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> temp = vqsubq_s16(vrshlq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, shift_value_neg), const_one);</div><div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = vmulq_s16(shift_value, const_one);</div><div class="line"><a name="l01689"></a><span class="lineno"> 1689</span> </div><div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>  <span class="comment">// Polynomial Approximation</span></div><div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> poly = vtaylor_polyq_qs16<true>(temp, fixed_point_position);</div><div class="line"><a name="l01692"></a><span class="lineno"> 1692</span> </div><div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>  <span class="comment">// Reconstruct</span></div><div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>  poly = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(vqaddq_s16(poly, sum), const_ln2, fixed_point_position);</div><div class="line"><a name="l01695"></a><span class="lineno"> 1695</span> </div><div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>  <span class="comment">// Set negative value for 0 < a < 1</span></div><div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>  poly = vbslq_s16(calc_reciprocal, vnegq_s16(poly), poly);</div><div class="line"><a name="l01698"></a><span class="lineno"> 1698</span> </div><div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>  <span class="keywordflow">return</span> poly;</div><div class="line"><a name="l01700"></a><span class="lineno"> 1700</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="reduction__operation_8cl_xhtml_ab0df00f5333da51860deb93deb44a782"><div class="ttname"><a href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a></div><div class="ttdeci">DATA_TYPE sum(__global const DATA_TYPE *input)</div><div class="ttdoc">Calculate sum of a vector. </div><div class="ttdef"><b>Definition:</b> <a href="reduction__operation_8cl_source.xhtml#l00052">reduction_operation.cl:52</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a982d792d366430a954d96e8575d3c313"><div class="ttname"><a href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">arm_compute::vqmulq_qs16</a></div><div class="ttdeci">qint16x8_t vqmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00607">NEFixedPoint.inl:607</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a6a368d809128ff6bce989cda02c536d8"><div class="ttname"><a href="namespacearm__compute.xhtml#a6a368d809128ff6bce989cda02c536d8">arm_compute::vqrecipq_qs16</a></div><div class="ttdeci">qint16x8_t vqrecipq_qs16(qint16x8_t a, int fixed_point_position)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01265">NEFixedPoint.inl:1265</a></div></div>
@@ -20075,7 +20123,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vlogq_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -20112,43 +20160,7 @@
<p>References <a class="el" href="reduction__operation_8cl_source.xhtml#l00052">sum()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00513">vmulq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01183">vrecipq_qs8()</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01978">vqpowq_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01625"></a><span class="lineno"> 1625</span> {</div>
-<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1 << fixed_point_position);</div>
-<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_seven_dec = vdupq_n_s8(7);</div>
-<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_ln2 = vdupq_n_s8(0x58 >> (7 - fixed_point_position)); <span class="comment">// ln(2)</span></div>
-<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span> </div>
-<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>  <span class="comment">// If 0 < a < 1, calculate log(1/x)</span></div>
-<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>  uint8x16_t calc_reciprocal = vcltq_s8(a, const_one);</div>
-<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> recip = vdupq_n_s8(0);</div>
-<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>  recip = vbslq_s8(calc_reciprocal, a, recip);</div>
-<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span> </div>
-<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>  <span class="comment">// Calculate reciprocal</span></div>
-<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>  recip = <a class="code" href="namespacearm__compute.xhtml#abbeb1dc4834fb4e97cf94d702d0e0f91">vrecipq_qs8</a>(recip, fixed_point_position);</div>
-<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>  a = vbslq_s8(calc_reciprocal, recip, a);</div>
-<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span> </div>
-<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>  <span class="comment">// Get decimal part of a</span></div>
-<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vdupq_n_s8(-fixed_point_position);</div>
-<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> dec_a = vshlq_s8(a, shift_value); <span class="comment">// a >> fixed_point_position</span></div>
-<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span> </div>
-<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>  <span class="comment">// Get exponent of 2^n which is equal or less than dec_a</span></div>
-<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>  shift_value = vsubq_s8(const_seven_dec, vclzq_s8(dec_a));</div>
-<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span> </div>
-<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>  <span class="comment">// Get x to range (1, 2]</span></div>
-<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value_neg = vnegq_s8(shift_value);</div>
-<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> temp = vsubq_s8(vrshlq_s8(a, shift_value_neg), const_one);</div>
-<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = vmulq_s8(shift_value, const_one);</div>
-<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span> </div>
-<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>  <span class="comment">// Polynomial Approximation</span></div>
-<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> poly = vtaylor_polyq_qs8<true>(temp, fixed_point_position);</div>
-<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span> </div>
-<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>  <span class="comment">// Reconstruct</span></div>
-<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>  poly = <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(vaddq_s8(poly, sum), const_ln2, fixed_point_position);</div>
-<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span> </div>
-<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>  <span class="comment">// Set negative value for 0 < a < 1</span></div>
-<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>  poly = vbslq_s8(calc_reciprocal, vnegq_s8(poly), poly);</div>
-<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span> </div>
-<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>  <span class="keywordflow">return</span> poly;</div>
-<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span> }</div>
+<div class="fragment"><div class="line"><a name="l01625"></a><span class="lineno"> 1625</span> {</div><div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1 << fixed_point_position);</div><div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_seven_dec = vdupq_n_s8(7);</div><div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_ln2 = vdupq_n_s8(0x58 >> (7 - fixed_point_position)); <span class="comment">// ln(2)</span></div><div class="line"><a name="l01629"></a><span class="lineno"> 1629</span> </div><div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>  <span class="comment">// If 0 < a < 1, calculate log(1/x)</span></div><div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>  uint8x16_t calc_reciprocal = vcltq_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, const_one);</div><div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> recip = vdupq_n_s8(0);</div><div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>  recip = vbslq_s8(calc_reciprocal, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, recip);</div><div class="line"><a name="l01634"></a><span class="lineno"> 1634</span> </div><div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>  <span class="comment">// Calculate reciprocal</span></div><div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>  recip = <a class="code" href="namespacearm__compute.xhtml#abbeb1dc4834fb4e97cf94d702d0e0f91">vrecipq_qs8</a>(recip, fixed_point_position);</div><div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>  <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a> = vbslq_s8(calc_reciprocal, recip, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l01638"></a><span class="lineno"> 1638</span> </div><div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>  <span class="comment">// Get decimal part of a</span></div><div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vdupq_n_s8(-fixed_point_position);</div><div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> dec_a = vshlq_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, shift_value); <span class="comment">// a >> fixed_point_position</span></div><div class="line"><a name="l01642"></a><span class="lineno"> 1642</span> </div><div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>  <span class="comment">// Get exponent of 2^n which is equal or less than dec_a</span></div><div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>  shift_value = vsubq_s8(const_seven_dec, vclzq_s8(dec_a));</div><div class="line"><a name="l01645"></a><span class="lineno"> 1645</span> </div><div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>  <span class="comment">// Get x to range (1, 2]</span></div><div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value_neg = vnegq_s8(shift_value);</div><div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> temp = vsubq_s8(vrshlq_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, shift_value_neg), const_one);</div><div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a> = vmulq_s8(shift_value, const_one);</div><div class="line"><a name="l01650"></a><span class="lineno"> 1650</span> </div><div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>  <span class="comment">// Polynomial Approximation</span></div><div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> poly = vtaylor_polyq_qs8<true>(temp, fixed_point_position);</div><div class="line"><a name="l01653"></a><span class="lineno"> 1653</span> </div><div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>  <span class="comment">// Reconstruct</span></div><div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>  poly = <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(vaddq_s8(poly, sum), const_ln2, fixed_point_position);</div><div class="line"><a name="l01656"></a><span class="lineno"> 1656</span> </div><div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>  <span class="comment">// Set negative value for 0 < a < 1</span></div><div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>  poly = vbslq_s8(calc_reciprocal, vnegq_s8(poly), poly);</div><div class="line"><a name="l01659"></a><span class="lineno"> 1659</span> </div><div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>  <span class="keywordflow">return</span> poly;</div><div class="line"><a name="l01661"></a><span class="lineno"> 1661</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="reduction__operation_8cl_xhtml_ab0df00f5333da51860deb93deb44a782"><div class="ttname"><a href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a></div><div class="ttdeci">DATA_TYPE sum(__global const DATA_TYPE *input)</div><div class="ttdoc">Calculate sum of a vector. </div><div class="ttdef"><b>Definition:</b> <a href="reduction__operation_8cl_source.xhtml#l00052">reduction_operation.cl:52</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a031b17d4102856aa4d6bf7ebf83bf0ab"><div class="ttname"><a href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">arm_compute::vmulq_qs8</a></div><div class="ttdeci">qint8x16_t vmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00513">NEFixedPoint.inl:513</a></div></div>
@@ -20199,16 +20211,8 @@
<dl class="section return"><dt>Returns</dt><dd>The lane-by-lane maximum -> float32x4x2 </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01988">1988</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l01989"></a><span class="lineno"> 1989</span> {</div>
-<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span>  float32x4x2_t res =</div>
-<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span>  {</div>
-<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span>  {</div>
-<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span>  vmaxq_f32(a.val[0], b.val[0]),</div>
-<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span>  vmaxq_f32(a.val[1], b.val[1])</div>
-<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>  }</div>
-<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span>  };</div>
-<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span>  <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l01998"></a><span class="lineno"> 1998</span> }</div>
+<div class="fragment"><div class="line"><a name="l01989"></a><span class="lineno"> 1989</span> {</div><div class="line"><a name="l01990"></a><span class="lineno"> 1990</span>  float32x4x2_t res =</div><div class="line"><a name="l01991"></a><span class="lineno"> 1991</span>  {</div><div class="line"><a name="l01992"></a><span class="lineno"> 1992</span>  {</div><div class="line"><a name="l01993"></a><span class="lineno"> 1993</span>  vmaxq_f32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>.val[0], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>.val[0]),</div><div class="line"><a name="l01994"></a><span class="lineno"> 1994</span>  vmaxq_f32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>.val[1], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>.val[1])</div><div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>  }</div><div class="line"><a name="l01996"></a><span class="lineno"> 1996</span>  };</div><div class="line"><a name="l01997"></a><span class="lineno"> 1997</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l01998"></a><span class="lineno"> 1998</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -20222,13 +20226,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vmax_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -20255,9 +20259,8 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector max operation </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00329">329</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00330"></a><span class="lineno"> 330</span> {</div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <span class="keywordflow">return</span> vmax_s16(a, b);</div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> }</div>
+<div class="fragment"><div class="line"><a name="l00330"></a><span class="lineno"> 330</span> {</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <span class="keywordflow">return</span> vmax_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -20271,13 +20274,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vmax_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -20304,9 +20307,8 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector max operation </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00324">324</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00325"></a><span class="lineno"> 325</span> {</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keywordflow">return</span> vmax_s8(a, b);</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> }</div>
+<div class="fragment"><div class="line"><a name="l00325"></a><span class="lineno"> 325</span> {</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keywordflow">return</span> vmax_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -20320,13 +20322,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vmaxq_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -20353,9 +20355,8 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector max operation </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00349">349</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00350"></a><span class="lineno"> 350</span> {</div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keywordflow">return</span> vmaxq_s16(a, b);</div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> }</div>
+<div class="fragment"><div class="line"><a name="l00350"></a><span class="lineno"> 350</span> {</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keywordflow">return</span> vmaxq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -20369,13 +20370,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vmaxq_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -20402,9 +20403,8 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector max operation </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00334">334</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00335"></a><span class="lineno"> 335</span> {</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="keywordflow">return</span> vmaxq_s8(a, b);</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> }</div>
+<div class="fragment"><div class="line"><a name="l00335"></a><span class="lineno"> 335</span> {</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="keywordflow">return</span> vmaxq_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -20418,13 +20418,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vmin_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -20451,9 +20451,8 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector max operation </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00359">359</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00360"></a><span class="lineno"> 360</span> {</div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <span class="keywordflow">return</span> vmin_s16(a, b);</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> }</div>
+<div class="fragment"><div class="line"><a name="l00360"></a><span class="lineno"> 360</span> {</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <span class="keywordflow">return</span> vmin_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -20467,13 +20466,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vmin_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -20500,9 +20499,8 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector max operation </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00354">354</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00355"></a><span class="lineno"> 355</span> {</div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keywordflow">return</span> vmin_s8(a, b);</div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> }</div>
+<div class="fragment"><div class="line"><a name="l00355"></a><span class="lineno"> 355</span> {</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keywordflow">return</span> vmin_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -20516,13 +20514,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vminq_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -20549,9 +20547,8 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector min operation </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00379">379</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00380"></a><span class="lineno"> 380</span> {</div>
-<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">return</span> vminq_s16(a, b);</div>
-<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> }</div>
+<div class="fragment"><div class="line"><a name="l00380"></a><span class="lineno"> 380</span> {</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">return</span> vminq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -20565,13 +20562,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vminq_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -20598,9 +20595,8 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector min operation </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00364">364</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00365"></a><span class="lineno"> 365</span> {</div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keywordflow">return</span> vminq_s8(a, b);</div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> }</div>
+<div class="fragment"><div class="line"><a name="l00365"></a><span class="lineno"> 365</span> {</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keywordflow">return</span> vminq_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -20614,19 +20610,19 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vmla_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
@@ -20662,22 +20658,10 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00667">667</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00668"></a><span class="lineno"> 668</span> {</div>
-<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
-<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> </div>
-<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
-<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp = vdupq_n_s32(1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> </div>
-<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  <span class="comment">// Vector multiply-accumulate long</span></div>
-<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  tmp = vmlal_s16(tmp, b, c);</div>
-<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> </div>
-<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>  <span class="comment">// Shift right by fixed_point_position</span></div>
-<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  tmp = vshlq_s32(tmp, fixed_point_position_s32);</div>
-<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> </div>
-<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  <span class="comment">// Convert back to qint16 and accumulate</span></div>
-<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  <span class="keywordflow">return</span> vadd_s16(a, vmovn_s32(tmp));</div>
-<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> }</div>
+<div class="fragment"><div class="line"><a name="l00668"></a><span class="lineno"> 668</span> {</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span> </div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp = vdupq_n_s32(1 << (fixed_point_position - 1));</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span> </div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  <span class="comment">// Vector multiply-accumulate long</span></div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  tmp = vmlal_s16(tmp, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">c</a>);</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span> </div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>  <span class="comment">// Shift right by fixed_point_position</span></div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  tmp = vshlq_s32(tmp, fixed_point_position_s32);</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span> </div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  <span class="comment">// Convert back to qint16 and accumulate</span></div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  <span class="keywordflow">return</span> vadd_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, vmovn_s32(tmp));</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a497347573faa3778743ddf277f861094"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">arm_compute::test::validation::c</a></div><div class="ttdeci">Tensor c</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00117">GEMM.cpp:117</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -20691,19 +20675,19 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vmla_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
@@ -20739,22 +20723,10 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00650">650</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00651"></a><span class="lineno"> 651</span> {</div>
-<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
-<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> </div>
-<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
-<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp = vdupq_n_s16(1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> </div>
-<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  <span class="comment">// Vector multiply-accumulate long</span></div>
-<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  tmp = vmlal_s8(tmp, b, c);</div>
-<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> </div>
-<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>  <span class="comment">// Shift right by fixed_point_position</span></div>
-<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>  tmp = vshlq_s16(tmp, fixed_point_position_s16);</div>
-<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> </div>
-<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  <span class="comment">// Convert back to qint8 and accumulate</span></div>
-<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  <span class="keywordflow">return</span> vadd_s8(a, vmovn_s16(tmp));</div>
-<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> }</div>
+<div class="fragment"><div class="line"><a name="l00651"></a><span class="lineno"> 651</span> {</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span> </div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp = vdupq_n_s16(1 << (fixed_point_position - 1));</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span> </div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  <span class="comment">// Vector multiply-accumulate long</span></div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  tmp = vmlal_s8(tmp, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">c</a>);</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span> </div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>  <span class="comment">// Shift right by fixed_point_position</span></div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>  tmp = vshlq_s16(tmp, fixed_point_position_s16);</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span> </div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  <span class="comment">// Convert back to qint8 and accumulate</span></div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  <span class="keywordflow">return</span> vadd_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, vmovn_s16(tmp));</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a497347573faa3778743ddf277f861094"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">arm_compute::test::validation::c</a></div><div class="ttdeci">Tensor c</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00117">GEMM.cpp:117</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -20768,19 +20740,19 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> vmlal_qs16 </td>
<td>(</td>
- <td class="paramtype">qint32x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
@@ -20816,22 +20788,10 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate long </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00817">817</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00818"></a><span class="lineno"> 818</span> {</div>
-<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
-<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> </div>
-<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
-<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp = vdupq_n_s32(1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> </div>
-<div class="line"><a name="l00824"></a><span class="lineno"> 824</span>  <span class="comment">// Vector multiply-accumulate long</span></div>
-<div class="line"><a name="l00825"></a><span class="lineno"> 825</span>  tmp = vmlal_s16(tmp, b, c);</div>
-<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> </div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span>  <span class="comment">// Shift right by fixed_point_position</span></div>
-<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  tmp = vshlq_s32(tmp, fixed_point_position_s32);</div>
-<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> </div>
-<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>  <span class="comment">// Accumulate</span></div>
-<div class="line"><a name="l00831"></a><span class="lineno"> 831</span>  <span class="keywordflow">return</span> vaddq_s32(a, tmp);</div>
-<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> }</div>
+<div class="fragment"><div class="line"><a name="l00818"></a><span class="lineno"> 818</span> {</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span> </div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp = vdupq_n_s32(1 << (fixed_point_position - 1));</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span> </div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>  <span class="comment">// Vector multiply-accumulate long</span></div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>  tmp = vmlal_s16(tmp, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">c</a>);</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span> </div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>  <span class="comment">// Shift right by fixed_point_position</span></div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  tmp = vshlq_s32(tmp, fixed_point_position_s32);</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span> </div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>  <span class="comment">// Accumulate</span></div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>  <span class="keywordflow">return</span> vaddq_s32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, tmp);</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a497347573faa3778743ddf277f861094"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">arm_compute::test::validation::c</a></div><div class="ttdeci">Tensor c</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00117">GEMM.cpp:117</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -20845,19 +20805,19 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vmlal_qs8 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
@@ -20893,25 +20853,67 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate long </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00800">800</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00801"></a><span class="lineno"> 801</span> {</div>
-<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
-<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> </div>
-<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
-<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp = vdupq_n_s16(1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> </div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  <span class="comment">// Vector multiply-accumulate long</span></div>
-<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  tmp = vmlal_s8(tmp, b, c);</div>
-<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> </div>
-<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  <span class="comment">// Shift right by fixed_point_position</span></div>
-<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  tmp = vshlq_s16(tmp, fixed_point_position_s16);</div>
-<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> </div>
-<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  <span class="comment">// Accumulate</span></div>
-<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  <span class="keywordflow">return</span> vaddq_s16(a, tmp);</div>
-<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> }</div>
+<div class="fragment"><div class="line"><a name="l00801"></a><span class="lineno"> 801</span> {</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span> </div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp = vdupq_n_s16(1 << (fixed_point_position - 1));</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span> </div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  <span class="comment">// Vector multiply-accumulate long</span></div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  tmp = vmlal_s8(tmp, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">c</a>);</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span> </div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  <span class="comment">// Shift right by fixed_point_position</span></div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  tmp = vshlq_s16(tmp, fixed_point_position_s16);</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span> </div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  <span class="comment">// Accumulate</span></div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  <span class="keywordflow">return</span> vaddq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, tmp);</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a497347573faa3778743ddf277f861094"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">arm_compute::test::validation::c</a></div><div class="ttdeci">Tensor c</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00117">GEMM.cpp:117</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
+<a class="anchor" id="aba8de9eaa10a7cb45c5aa603585d0e4c"></a>
+<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="namespacearm__compute.xhtml#ac7e1832b8c58f07a98fc8d390b16ac27">qasymm8x16_t</a> vmlaq_qasymm8 </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#ac7e1832b8c58f07a98fc8d390b16ac27">qasymm8x16_t</a> </td>
+ <td class="paramname"><em>vd</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float32x4_t </td>
+ <td class="paramname"><em>vs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float32x4_t </td>
+ <td class="paramname"><em>vo</em> </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>Perform a multiply-accumulate on all 16 components of a QASYMM8 vector. </p>
+<p>vd*vs + vo</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">vd</td><td>Input vector value in QASYMM8 format </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">vs</td><td><a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> multiplier in F32 format. The multiplier value must be duplicated across all four lanes. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">vo</td><td><a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> addend in F32 format. The addend value must be duplicated across all four lanes.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A 16-component vector in QASYMM8 format, saturated to fit </dd></dl>
+
+<p>Definition at line <a class="el" href="_n_e_asymm_8inl_source.xhtml#l00034">34</a> of file <a class="el" href="_n_e_asymm_8inl_source.xhtml">NEAsymm.inl</a>.</p>
+<div class="fragment"><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> {</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="comment">// Convert uint8 vectors to uint16 vectors</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keyword">const</span> uint8x8_t vd_low = vget_low_u8(vd);</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <span class="keyword">const</span> uint8x8_t vd_high = vget_high_u8(vd);</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  uint16x8_t vd_low_u16x8 = vmovl_u8(vd_low);</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  uint16x8_t vd_high_u16x8 = vmovl_u8(vd_high);</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="comment">// Convert uint16 vectors to uint32 vectors</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  uint32x4_t A_u32x4 = vmovl_u16(vget_low_u16(vd_low_u16x8));</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  uint32x4_t B_u32x4 = vmovl_u16(vget_high_u16(vd_low_u16x8));</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  uint32x4_t C_u32x4 = vmovl_u16(vget_low_u16(vd_high_u16x8));</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  uint32x4_t D_u32x4 = vmovl_u16(vget_high_u16(vd_high_u16x8));</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="comment">// Convert uint32 vectors to float32 vectors</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  float32x4_t A_f32x4 = vcvtq_f32_u32(A_u32x4);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  float32x4_t B_f32x4 = vcvtq_f32_u32(B_u32x4);</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  float32x4_t C_f32x4 = vcvtq_f32_u32(C_u32x4);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  float32x4_t D_f32x4 = vcvtq_f32_u32(D_u32x4);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="comment">// vd = vd*vs + vo</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  A_f32x4 = vmlaq_f32(vo, A_f32x4, vs);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  B_f32x4 = vmlaq_f32(vo, B_f32x4, vs);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  C_f32x4 = vmlaq_f32(vo, C_f32x4, vs);</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  D_f32x4 = vmlaq_f32(vo, D_f32x4, vs);</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="comment">// Convert float32 vectors to uint32 vectors</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  A_u32x4 = vcvtq_u32_f32(A_f32x4);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  B_u32x4 = vcvtq_u32_f32(B_f32x4);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  C_u32x4 = vcvtq_u32_f32(C_f32x4);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  D_u32x4 = vcvtq_u32_f32(D_f32x4);</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="comment">// Convert uint32 vectors to uint16 vectors (with saturation)</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  vd_low_u16x8 = vcombine_u16(vqmovn_u32(A_u32x4), vqmovn_u32(B_u32x4));</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  vd_high_u16x8 = vcombine_u16(vqmovn_u32(C_u32x4), vqmovn_u32(D_u32x4));</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="comment">// convert uint16 vectors to uint8 vectors (with saturation)</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">return</span> vcombine_u8(vqmovn_u16(vd_low_u16x8), vqmovn_u16(vd_high_u16x8));</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> }</div></div><!-- fragment -->
+</div>
+</div>
<a class="anchor" id="afac88503bedaf0d617729062991518d7"></a>
<div class="memitem">
<div class="memproto">
@@ -20922,19 +20924,19 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vmlaq_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
@@ -20972,27 +20974,12 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00704">704</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00148">vget_high_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00138">vget_low_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00705"></a><span class="lineno"> 705</span> {</div>
-<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>  <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
-<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> </div>
-<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
-<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp0 = vdupq_n_s32(1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp1 = tmp0;</div>
-<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> </div>
-<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <span class="comment">// Vector multiply-accumulate long</span></div>
-<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  tmp0 = vmlal_s16(tmp0, <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(b), <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(c));</div>
-<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  tmp1 = vmlal_s16(tmp1, <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(b), <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(c));</div>
-<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> </div>
-<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  <span class="comment">// Shift right by fixed_point_position</span></div>
-<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  tmp0 = vshlq_s32(tmp0, fixed_point_position_s32);</div>
-<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  tmp1 = vshlq_s32(tmp1, fixed_point_position_s32);</div>
-<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> </div>
-<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  <span class="comment">// Convert back to qint16 and accumulate</span></div>
-<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>  <span class="keywordflow">return</span> vcombine_s16(vadd_s16(<a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(a), vmovn_s32(tmp0)), vadd_s16(<a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(a), vmovn_s32(tmp1)));</div>
-<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> }</div>
+<div class="fragment"><div class="line"><a name="l00705"></a><span class="lineno"> 705</span> {</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>  <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span> </div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp0 = vdupq_n_s32(1 << (fixed_point_position - 1));</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp1 = tmp0;</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span> </div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <span class="comment">// Vector multiply-accumulate long</span></div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  tmp0 = vmlal_s16(tmp0, <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>), <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">c</a>));</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  tmp1 = vmlal_s16(tmp1, <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>), <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">c</a>));</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span> </div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  <span class="comment">// Shift right by fixed_point_position</span></div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  tmp0 = vshlq_s32(tmp0, fixed_point_position_s32);</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  tmp1 = vshlq_s32(tmp1, fixed_point_position_s32);</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span> </div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  <span class="comment">// Convert back to qint16 and accumulate</span></div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>  <span class="keywordflow">return</span> vcombine_s16(vadd_s16(<a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vmovn_s32(tmp0)), vadd_s16(<a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vmovn_s32(tmp1)));</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ac2edef8bf07bce91b37aa02b952b8ed6"><div class="ttname"><a href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">arm_compute::vget_high_qs16</a></div><div class="ttdeci">qint16x4_t vget_high_qs16(qint16x8_t a)</div><div class="ttdoc">Get the higher half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00148">NEFixedPoint.inl:148</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ae895c5b470fcf069afd626bb36c63e3d"><div class="ttname"><a href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">arm_compute::vget_low_qs16</a></div><div class="ttdeci">qint16x4_t vget_low_qs16(qint16x8_t a)</div><div class="ttdoc">Get the lower half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00138">NEFixedPoint.inl:138</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a497347573faa3778743ddf277f861094"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">arm_compute::test::validation::c</a></div><div class="ttdeci">Tensor c</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00117">GEMM.cpp:117</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -21006,19 +20993,19 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vmlaq_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
@@ -21054,25 +21041,10 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00684">684</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00685"></a><span class="lineno"> 685</span> {</div>
-<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
-<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> </div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp0 = vdupq_n_s16(1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp1 = tmp0;</div>
-<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> </div>
-<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  <span class="comment">// Vector multiply-accumulate long</span></div>
-<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  tmp0 = vmlal_s8(tmp0, vget_low_s8(b), vget_low_s8(c));</div>
-<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  tmp1 = vmlal_s8(tmp1, vget_high_s8(b), vget_high_s8(c));</div>
-<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> </div>
-<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  <span class="comment">// Shift right by fixed_point_position</span></div>
-<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  tmp0 = vshlq_s16(tmp0, fixed_point_position_s16);</div>
-<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  tmp1 = vshlq_s16(tmp1, fixed_point_position_s16);</div>
-<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> </div>
-<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  <span class="comment">// Convert back to qint8 and accumulate</span></div>
-<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  <span class="keywordflow">return</span> vcombine_s8(vadd_s8(vget_low_s8(a), vmovn_s16(tmp0)), vadd_s8(vget_high_s8(a), vmovn_s16(tmp1)));</div>
-<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> }</div>
+<div class="fragment"><div class="line"><a name="l00685"></a><span class="lineno"> 685</span> {</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span> </div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp0 = vdupq_n_s16(1 << (fixed_point_position - 1));</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp1 = tmp0;</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span> </div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  <span class="comment">// Vector multiply-accumulate long</span></div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  tmp0 = vmlal_s8(tmp0, vget_low_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>), vget_low_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">c</a>));</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  tmp1 = vmlal_s8(tmp1, vget_high_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>), vget_high_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">c</a>));</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span> </div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  <span class="comment">// Shift right by fixed_point_position</span></div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  tmp0 = vshlq_s16(tmp0, fixed_point_position_s16);</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  tmp1 = vshlq_s16(tmp1, fixed_point_position_s16);</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span> </div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  <span class="comment">// Convert back to qint8 and accumulate</span></div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  <span class="keywordflow">return</span> vcombine_s8(vadd_s8(vget_low_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vmovn_s16(tmp0)), vadd_s8(vget_high_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vmovn_s16(tmp1)));</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a497347573faa3778743ddf277f861094"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">arm_compute::test::validation::c</a></div><div class="ttdeci">Tensor c</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00117">GEMM.cpp:117</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -21086,13 +21058,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vmul_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
@@ -21128,22 +21100,9 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00496">496</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01299">vdiv_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01729">vinvsqrt_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01585">vlog_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01103">vrecip_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01331">vtaylor_poly_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00497"></a><span class="lineno"> 497</span> {</div>
-<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
-<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> </div>
-<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <span class="comment">// Initialize the temporary result with a constant used to round up the result</span></div>
-<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> res = vdupq_n_s32(1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> </div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <span class="comment">// Vector multiply-accumulate long</span></div>
-<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  res = vmlal_s16(res, a, b);</div>
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> </div>
-<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <span class="comment">// Shift right by fixed_point_position</span></div>
-<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  res = vshlq_s32(res, fixed_point_position_s32);</div>
-<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> </div>
-<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <span class="comment">// Convert back to qint16</span></div>
-<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <span class="keywordflow">return</span> vmovn_s32(res);</div>
-<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> }</div>
+<div class="fragment"><div class="line"><a name="l00497"></a><span class="lineno"> 497</span> {</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span> </div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <span class="comment">// Initialize the temporary result with a constant used to round up the result</span></div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> res = vdupq_n_s32(1 << (fixed_point_position - 1));</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span> </div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <span class="comment">// Vector multiply-accumulate long</span></div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  res = vmlal_s16(res, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span> </div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <span class="comment">// Shift right by fixed_point_position</span></div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  res = vshlq_s32(res, fixed_point_position_s32);</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span> </div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <span class="comment">// Convert back to qint16</span></div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <span class="keywordflow">return</span> vmovn_s32(res);</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -21157,13 +21116,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vmul_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
@@ -21199,22 +21158,9 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00479">479</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01294">vdiv_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01702">vinvsqrt_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01546">vlog_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01077">vrecip_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01315">vtaylor_poly_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00480"></a><span class="lineno"> 480</span> {</div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> </div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <span class="comment">// Initialize the temporary result with a constant used to round up the result</span></div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res = vdupq_n_s16(1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> </div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <span class="comment">// Vector multiply-accumulate long</span></div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  res = vmlal_s8(res, a, b);</div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> </div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  <span class="comment">// Shift right by fixed_point_position</span></div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  res = vshlq_s16(res, fixed_point_position_s16);</div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> </div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  <span class="comment">// Convert back to qint8</span></div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <span class="keywordflow">return</span> vmovn_s16(res);</div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> }</div>
+<div class="fragment"><div class="line"><a name="l00480"></a><span class="lineno"> 480</span> {</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span> </div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <span class="comment">// Initialize the temporary result with a constant used to round up the result</span></div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res = vdupq_n_s16(1 << (fixed_point_position - 1));</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span> </div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <span class="comment">// Vector multiply-accumulate long</span></div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  res = vmlal_s8(res, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span> </div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  <span class="comment">// Shift right by fixed_point_position</span></div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  res = vshlq_s16(res, fixed_point_position_s16);</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span> </div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  <span class="comment">// Convert back to qint8</span></div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <span class="keywordflow">return</span> vmovn_s16(res);</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -21228,13 +21174,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> vmull_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
@@ -21268,19 +21214,9 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 32 bit fixed point long vector multiplication. </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00636">636</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00637"></a><span class="lineno"> 637</span> {</div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> </div>
-<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
-<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp = vdupq_n_s32(1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> </div>
-<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  <span class="comment">// Vector multiply-accumulate long</span></div>
-<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  tmp = vmull_s16(a, b);</div>
-<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> </div>
-<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  <span class="comment">// Shift right by fixed_point_position</span></div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  <span class="keywordflow">return</span> vqshlq_s32(tmp, fixed_point_position_s32);</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> }</div>
+<div class="fragment"><div class="line"><a name="l00637"></a><span class="lineno"> 637</span> {</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span> </div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp = vdupq_n_s32(1 << (fixed_point_position - 1));</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span> </div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  <span class="comment">// Vector multiply-accumulate long</span></div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  tmp = vmull_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span> </div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  <span class="comment">// Shift right by fixed_point_position</span></div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  <span class="keywordflow">return</span> vqshlq_s32(tmp, fixed_point_position_s32);</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -21294,13 +21230,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vmull_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
@@ -21334,14 +21270,11 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point long vector multiplication. </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00627">627</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00628"></a><span class="lineno"> 628</span> {</div>
-<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
-<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> </div>
-<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res = vmull_s8(a, b);</div>
-<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> </div>
-<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>  <span class="keywordflow">return</span> vqrshlq_s16(res, fixed_point_position_s16);</div>
-<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> }</div>
+
+<p>Referenced by <a class="el" href="_n_e_direct_convolution_detail_8h_source.xhtml#l00184">arm_compute::detail::convolve_3x3< 1 >()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00628"></a><span class="lineno"> 628</span> {</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span> </div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res = vmull_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span> </div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>  <span class="keywordflow">return</span> vqrshlq_s16(res, fixed_point_position_s16);</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -21355,13 +21288,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vmulq_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
@@ -21399,27 +21332,11 @@
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00148">vget_high_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00138">vget_low_qs16()</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01309">vdivq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01841">vinvsqrtq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01210">vrecipq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01395">vtaylor_polyq_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00534"></a><span class="lineno"> 534</span> {</div>
-<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
-<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> </div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> res0 = vdupq_n_s32(1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> res1 = res0;</div>
-<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> </div>
-<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  <span class="comment">// Vector multiply-accumulate long</span></div>
-<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  res0 = vmlal_s16(res0, <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(a), <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(b));</div>
-<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  res1 = vmlal_s16(res1, <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(a), <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(b));</div>
-<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> </div>
-<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  <span class="comment">// Shift right by fixed_point_position</span></div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  res0 = vshlq_s32(res0, fixed_point_position_s32);</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  res1 = vshlq_s32(res1, fixed_point_position_s32);</div>
-<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> </div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  <span class="comment">// Convert back to qint16</span></div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  <span class="keywordflow">return</span> vcombine_s16(vmovn_s32(res0), vmovn_s32(res1));</div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> }</div>
+<div class="fragment"><div class="line"><a name="l00534"></a><span class="lineno"> 534</span> {</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span> </div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> res0 = vdupq_n_s32(1 << (fixed_point_position - 1));</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> res1 = res0;</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span> </div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  <span class="comment">// Vector multiply-accumulate long</span></div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  res0 = vmlal_s16(res0, <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>));</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  res1 = vmlal_s16(res1, <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>));</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span> </div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  <span class="comment">// Shift right by fixed_point_position</span></div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  res0 = vshlq_s32(res0, fixed_point_position_s32);</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  res1 = vshlq_s32(res1, fixed_point_position_s32);</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span> </div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  <span class="comment">// Convert back to qint16</span></div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  <span class="keywordflow">return</span> vcombine_s16(vmovn_s32(res0), vmovn_s32(res1));</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ac2edef8bf07bce91b37aa02b952b8ed6"><div class="ttname"><a href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">arm_compute::vget_high_qs16</a></div><div class="ttdeci">qint16x4_t vget_high_qs16(qint16x8_t a)</div><div class="ttdoc">Get the higher half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00148">NEFixedPoint.inl:148</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ae895c5b470fcf069afd626bb36c63e3d"><div class="ttname"><a href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">arm_compute::vget_low_qs16</a></div><div class="ttdeci">qint16x4_t vget_low_qs16(qint16x8_t a)</div><div class="ttdoc">Get the lower half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00138">NEFixedPoint.inl:138</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -21433,13 +21350,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vmulq_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
@@ -21475,25 +21392,9 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00513">513</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01304">vdivq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01814">vinvsqrtq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01624">vlogq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01183">vrecipq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01379">vtaylor_polyq_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00514"></a><span class="lineno"> 514</span> {</div>
-<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
-<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> </div>
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res0 = vdupq_n_s16(1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res1 = res0;</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> </div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  <span class="comment">// Vector multiply-accumulate long</span></div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  res0 = vmlal_s8(res0, vget_low_s8(a), vget_low_s8(b));</div>
-<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  res1 = vmlal_s8(res1, vget_high_s8(a), vget_high_s8(b));</div>
-<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> </div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <span class="comment">// Shift right by fixed_point_position</span></div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  res0 = vshlq_s16(res0, fixed_point_position_s16);</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  res1 = vshlq_s16(res1, fixed_point_position_s16);</div>
-<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> </div>
-<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <span class="comment">// Convert back to qint8</span></div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <span class="keywordflow">return</span> vcombine_s8(vmovn_s16(res0), vmovn_s16(res1));</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> }</div>
+<div class="fragment"><div class="line"><a name="l00514"></a><span class="lineno"> 514</span> {</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span> </div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res0 = vdupq_n_s16(1 << (fixed_point_position - 1));</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res1 = res0;</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span> </div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  <span class="comment">// Vector multiply-accumulate long</span></div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  res0 = vmlal_s8(res0, vget_low_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vget_low_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>));</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  res1 = vmlal_s8(res1, vget_high_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vget_high_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>));</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span> </div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <span class="comment">// Shift right by fixed_point_position</span></div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  res0 = vshlq_s16(res0, fixed_point_position_s16);</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  res1 = vshlq_s16(res1, fixed_point_position_s16);</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span> </div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <span class="comment">// Convert back to qint8</span></div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <span class="keywordflow">return</span> vcombine_s8(vmovn_s16(res0), vmovn_s16(res1));</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -21507,7 +21408,7 @@
<tr>
<td class="memname">int16x4_t vpaddl_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -21529,9 +21430,7 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector addition. The result is saturated in case of overflow </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00434">434</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00435"></a><span class="lineno"> 435</span> {</div>
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keywordflow">return</span> vpaddl_s8(a);</div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> }</div>
+<div class="fragment"><div class="line"><a name="l00435"></a><span class="lineno"> 435</span> {</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keywordflow">return</span> vpaddl_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -21545,13 +21444,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vpmax_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -21578,9 +21477,8 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector pairwise max operation </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00344">344</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00345"></a><span class="lineno"> 345</span> {</div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordflow">return</span> vpmax_s16(a, b);</div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> }</div>
+<div class="fragment"><div class="line"><a name="l00345"></a><span class="lineno"> 345</span> {</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordflow">return</span> vpmax_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -21594,13 +21492,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vpmax_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -21627,9 +21525,8 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector pairwise max operation </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00339">339</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00340"></a><span class="lineno"> 340</span> {</div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keywordflow">return</span> vpmax_s8(a, b);</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> }</div>
+<div class="fragment"><div class="line"><a name="l00340"></a><span class="lineno"> 340</span> {</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keywordflow">return</span> vpmax_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -21643,13 +21540,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vpmin_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -21676,9 +21573,8 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector pairwise min operation </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00374">374</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00375"></a><span class="lineno"> 375</span> {</div>
-<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">return</span> vpmin_s16(a, b);</div>
-<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> }</div>
+<div class="fragment"><div class="line"><a name="l00375"></a><span class="lineno"> 375</span> {</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">return</span> vpmin_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -21692,13 +21588,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vpmin_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -21725,63 +21621,8 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector pairwise min operation </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00369">369</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00370"></a><span class="lineno"> 370</span> {</div>
-<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keywordflow">return</span> vpmin_s8(a, b);</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> }</div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a0b601c13358a452569202d3fb718963d"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">float16x8_t vpowq_f16 </td>
- <td>(</td>
- <td class="paramtype">float16x8_t </td>
- <td class="paramname"><em>val</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">float16x8_t </td>
- <td class="paramname"><em>n</em> </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>Calculate n power of a number. </p>
-<p>pow(x,n) = e^(n*log(x))</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Input vector value in F16 format. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Powers to raise the input to.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The calculated power. </dd></dl>
-
-<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00300">300</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
-
-<p>References <a class="el" href="_n_e_math_8inl_source.xhtml#l00261">vexpq_f16()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00282">vlogq_f16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00301"></a><span class="lineno"> 301</span> {</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a829992d2c673006879696821024df5b7">vexpq_f16</a>(vmulq_f16(n, <a class="code" href="namespacearm__compute.xhtml#a38bedb9142df17a66ff1b90974f19512">vlogq_f16</a>(val)));</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a829992d2c673006879696821024df5b7"><div class="ttname"><a href="namespacearm__compute.xhtml#a829992d2c673006879696821024df5b7">arm_compute::vexpq_f16</a></div><div class="ttdeci">float16x8_t vexpq_f16(float16x8_t x)</div><div class="ttdoc">Calculate exponential. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00261">NEMath.inl:261</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a38bedb9142df17a66ff1b90974f19512"><div class="ttname"><a href="namespacearm__compute.xhtml#a38bedb9142df17a66ff1b90974f19512">arm_compute::vlogq_f16</a></div><div class="ttdeci">float16x8_t vlogq_f16(float16x8_t x)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00282">NEMath.inl:282</a></div></div>
+<div class="fragment"><div class="line"><a name="l00370"></a><span class="lineno"> 370</span> {</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keywordflow">return</span> vpmin_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -21830,11 +21671,8 @@
<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00167">167</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
-<p>References <a class="el" href="_n_e_math_8inl_source.xhtml#l00113">vexpq_f32()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00134">vlogq_f32()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> {</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ade3ef16de304661943c900ac9a47d28f">vexpq_f32</a>(vmulq_f32(n, <a class="code" href="namespacearm__compute.xhtml#a37a3e03a22ad160a2e9e5c133607e020">vlogq_f32</a>(val)));</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_ade3ef16de304661943c900ac9a47d28f"><div class="ttname"><a href="namespacearm__compute.xhtml#ade3ef16de304661943c900ac9a47d28f">arm_compute::vexpq_f32</a></div><div class="ttdeci">float32x4_t vexpq_f32(float32x4_t x)</div><div class="ttdoc">Calculate exponential. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00113">NEMath.inl:113</a></div></div>
+<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">arm_compute::test::fixed_point_arithmetic::detail::tanh()</a>, <a class="el" href="_n_e_math_8inl_source.xhtml#l00113">vexpq_f32()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00134">vlogq_f32()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> {</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ade3ef16de304661943c900ac9a47d28f">vexpq_f32</a>(vmulq_f32(n, <a class="code" href="namespacearm__compute.xhtml#a37a3e03a22ad160a2e9e5c133607e020">vlogq_f32</a>(val)));</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_ade3ef16de304661943c900ac9a47d28f"><div class="ttname"><a href="namespacearm__compute.xhtml#ade3ef16de304661943c900ac9a47d28f">arm_compute::vexpq_f32</a></div><div class="ttdeci">float32x4_t vexpq_f32(float32x4_t x)</div><div class="ttdoc">Calculate exponential. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00113">NEMath.inl:113</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a37a3e03a22ad160a2e9e5c133607e020"><div class="ttname"><a href="namespacearm__compute.xhtml#a37a3e03a22ad160a2e9e5c133607e020">arm_compute::vlogq_f32</a></div><div class="ttdeci">float32x4_t vlogq_f32(float32x4_t x)</div><div class="ttdoc">Calculate logarithm. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00134">NEMath.inl:134</a></div></div>
</div><!-- fragment -->
</div>
@@ -21849,7 +21687,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqabs_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -21873,9 +21711,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00309">309</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01468">vqexp_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00310"></a><span class="lineno"> 310</span> {</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="keywordflow">return</span> vqabs_s16(a);</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> }</div>
+<div class="fragment"><div class="line"><a name="l00310"></a><span class="lineno"> 310</span> {</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="keywordflow">return</span> vqabs_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -21889,7 +21725,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vqabs_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -21913,9 +21749,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00304">304</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01442">vqexp_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00305"></a><span class="lineno"> 305</span> {</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">return</span> vqabs_s8(a);</div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> }</div>
+<div class="fragment"><div class="line"><a name="l00305"></a><span class="lineno"> 305</span> {</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">return</span> vqabs_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -21929,7 +21763,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqabsq_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -21953,9 +21787,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00319">319</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01520">vqexpq_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00320"></a><span class="lineno"> 320</span> {</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <span class="keywordflow">return</span> vqabsq_s16(a);</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> }</div>
+<div class="fragment"><div class="line"><a name="l00320"></a><span class="lineno"> 320</span> {</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <span class="keywordflow">return</span> vqabsq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -21969,7 +21801,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqabsq_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -21993,9 +21825,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00314">314</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01494">vqexpq_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00315"></a><span class="lineno"> 315</span> {</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keywordflow">return</span> vqabsq_s8(a);</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> }</div>
+<div class="fragment"><div class="line"><a name="l00315"></a><span class="lineno"> 315</span> {</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keywordflow">return</span> vqabsq_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -22009,13 +21839,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqadd_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -22044,9 +21874,8 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00409">409</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01939">vqtanh_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00410"></a><span class="lineno"> 410</span> {</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  <span class="keywordflow">return</span> vqadd_s16(a, b);</div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> }</div>
+<div class="fragment"><div class="line"><a name="l00410"></a><span class="lineno"> 410</span> {</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  <span class="keywordflow">return</span> vqadd_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -22060,13 +21889,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#addcffa8e8086154c0449c23e6b0dff83">qint32x2_t</a> arm_compute::vqadd_qs32 </td>
<td>(</td>
- <td class="paramtype">qint32x2_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#addcffa8e8086154c0449c23e6b0dff83">qint32x2_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint32x2_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#addcffa8e8086154c0449c23e6b0dff83">qint32x2_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -22083,9 +21912,8 @@
</div><div class="memdoc">
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00414">414</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00415"></a><span class="lineno"> 415</span> {</div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <span class="keywordflow">return</span> vqadd_s32(a, b);</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> }</div>
+<div class="fragment"><div class="line"><a name="l00415"></a><span class="lineno"> 415</span> {</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <span class="keywordflow">return</span> vqadd_s32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -22099,13 +21927,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vqadd_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -22134,9 +21962,8 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00404">404</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01926">vqtanh_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00405"></a><span class="lineno"> 405</span> {</div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <span class="keywordflow">return</span> vqadd_s8(a, b);</div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> }</div>
+<div class="fragment"><div class="line"><a name="l00405"></a><span class="lineno"> 405</span> {</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <span class="keywordflow">return</span> vqadd_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -22150,13 +21977,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqaddq_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -22185,9 +22012,8 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00424">424</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01965">vqtanhq_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00425"></a><span class="lineno"> 425</span> {</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  <span class="keywordflow">return</span> vqaddq_s16(a, b);</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> }</div>
+<div class="fragment"><div class="line"><a name="l00425"></a><span class="lineno"> 425</span> {</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  <span class="keywordflow">return</span> vqaddq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -22201,13 +22027,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> arm_compute::vqaddq_qs32 </td>
<td>(</td>
- <td class="paramtype">qint32x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint32x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -22224,9 +22050,8 @@
</div><div class="memdoc">
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00429">429</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00430"></a><span class="lineno"> 430</span> {</div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  <span class="keywordflow">return</span> vqaddq_s32(a, b);</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> }</div>
+<div class="fragment"><div class="line"><a name="l00430"></a><span class="lineno"> 430</span> {</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  <span class="keywordflow">return</span> vqaddq_s32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -22240,13 +22065,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqaddq_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -22275,9 +22100,8 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00419">419</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01952">vqtanhq_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00420"></a><span class="lineno"> 420</span> {</div>
-<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <span class="keywordflow">return</span> vqaddq_s8(a, b);</div>
-<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> }</div>
+<div class="fragment"><div class="line"><a name="l00420"></a><span class="lineno"> 420</span> {</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <span class="keywordflow">return</span> vqaddq_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -22324,17 +22148,7 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the conversion float -> 16 bit fixed point. The result is saturated in case of overflow </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00896">896</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00897"></a><span class="lineno"> 897</span> {</div>
-<div class="line"><a name="l00898"></a><span class="lineno"> 898</span>  <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(static_cast<float>(1 << fixed_point_position));</div>
-<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> </div>
-<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  float32x4_t res_f32 = vbslq_f32(vcgeq_f32(a, vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f));</div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> </div>
-<div class="line"><a name="l00902"></a><span class="lineno"> 902</span>  res_f32 = vmlaq_f32(res_f32, a, pow2);</div>
-<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> </div>
-<div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  <span class="keyword">const</span> int32x4_t res_s32 = vcvtq_s32_f32(res_f32);</div>
-<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> </div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  <span class="keywordflow">return</span> vqmovn_s32(res_s32);</div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> }</div>
+<div class="fragment"><div class="line"><a name="l00897"></a><span class="lineno"> 897</span> {</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>  <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(static_cast<float>(1 << fixed_point_position));</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span> </div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  float32x4_t res_f32 = vbslq_f32(vcgeq_f32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f));</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span> </div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>  res_f32 = vmlaq_f32(res_f32, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, pow2);</div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span> </div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  <span class="keyword">const</span> int32x4_t res_s32 = vcvtq_s32_f32(res_f32);</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span> </div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  <span class="keywordflow">return</span> vqmovn_s32(res_s32);</div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -22407,32 +22221,7 @@
</div><div class="memdoc">
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00868">868</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00869"></a><span class="lineno"> 869</span> {</div>
-<div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(static_cast<float>(1 << fixed_point_position));</div>
-<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> </div>
-<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  float32x4x2_t res_f32 =</div>
-<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  {</div>
-<div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  {</div>
-<div class="line"><a name="l00875"></a><span class="lineno"> 875</span>  vbslq_f32(vcgeq_f32(a.val[0], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f)),</div>
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  vbslq_f32(vcgeq_f32(a.val[1], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f))</div>
-<div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  }</div>
-<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  };</div>
-<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> </div>
-<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  res_f32.val[0] = vmlaq_f32(res_f32.val[0], a.val[0], pow2);</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  res_f32.val[1] = vmlaq_f32(res_f32.val[1], a.val[1], pow2);</div>
-<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> </div>
-<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  <span class="keyword">const</span> int32x4x2_t res_s32 =</div>
-<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  {</div>
-<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  {</div>
-<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  vcvtq_s32_f32(res_f32.val[0]),</div>
-<div class="line"><a name="l00887"></a><span class="lineno"> 887</span>  vcvtq_s32_f32(res_f32.val[1]),</div>
-<div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  }</div>
-<div class="line"><a name="l00889"></a><span class="lineno"> 889</span>  };</div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> </div>
-<div class="line"><a name="l00891"></a><span class="lineno"> 891</span>  <span class="keyword">const</span> int16x8_t res_s16 = vcombine_s16(vqmovn_s32(res_s32.val[0]), vqmovn_s32(res_s32.val[1]));</div>
-<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> </div>
-<div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  <span class="keywordflow">return</span> vqmovn_s16(res_s16);</div>
-<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> }</div>
+<div class="fragment"><div class="line"><a name="l00869"></a><span class="lineno"> 869</span> {</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(static_cast<float>(1 << fixed_point_position));</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span> </div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  float32x4x2_t res_f32 =</div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  {</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  {</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>  vbslq_f32(vcgeq_f32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>.val[0], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f)),</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  vbslq_f32(vcgeq_f32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>.val[1], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f))</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  }</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  };</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span> </div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  res_f32.val[0] = vmlaq_f32(res_f32.val[0], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>.val[0], pow2);</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  res_f32.val[1] = vmlaq_f32(res_f32.val[1], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>.val[1], pow2);</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span> </div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  <span class="keyword">const</span> int32x4x2_t res_s32 =</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  {</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  {</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  vcvtq_s32_f32(res_f32.val[0]),</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>  vcvtq_s32_f32(res_f32.val[1]),</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  }</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>  };</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span> </div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>  <span class="keyword">const</span> int16x8_t res_s16 = vcombine_s16(vqmovn_s32(res_s32.val[0]), vqmovn_s32(res_s32.val[1]));</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span> </div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  <span class="keywordflow">return</span> vqmovn_s16(res_s16);</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -22481,30 +22270,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00949">949</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00262">vdupq_n_qs16_f32()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00950"></a><span class="lineno"> 950</span> {</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>  <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(static_cast<float>(1 << fixed_point_position));</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> </div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>  float32x4x2_t res_f32 =</div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span>  {</div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span>  {</div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  vbslq_f32(vcgeq_f32(a.val[0], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f)),</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  vbslq_f32(vcgeq_f32(a.val[1], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f))</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  }</div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span>  };</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> </div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  res_f32.val[0] = vmlaq_f32(res_f32.val[0], a.val[0], pow2);</div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  res_f32.val[1] = vmlaq_f32(res_f32.val[1], a.val[1], pow2);</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> </div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  <span class="keyword">const</span> int32x4x2_t res_s32 =</div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  {</div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  {</div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>  vcvtq_s32_f32(res_f32.val[0]),</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  vcvtq_s32_f32(res_f32.val[1])</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span>  }</div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span>  };</div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span> </div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span>  <span class="keywordflow">return</span> vcombine_s16(vqmovn_s32(res_s32.val[0]), vqmovn_s32(res_s32.val[1]));</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span> }</div>
+<div class="fragment"><div class="line"><a name="l00950"></a><span class="lineno"> 950</span> {</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>  <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(static_cast<float>(1 << fixed_point_position));</div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span> </div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>  float32x4x2_t res_f32 =</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>  {</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>  {</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  vbslq_f32(vcgeq_f32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>.val[0], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f)),</div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  vbslq_f32(vcgeq_f32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>.val[1], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f))</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  }</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>  };</div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span> </div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  res_f32.val[0] = vmlaq_f32(res_f32.val[0], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>.val[0], pow2);</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  res_f32.val[1] = vmlaq_f32(res_f32.val[1], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>.val[1], pow2);</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span> </div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  <span class="keyword">const</span> int32x4x2_t res_s32 =</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  {</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  {</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>  vcvtq_s32_f32(res_f32.val[0]),</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  vcvtq_s32_f32(res_f32.val[1])</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>  }</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>  };</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span> </div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>  <span class="keywordflow">return</span> vcombine_s16(vqmovn_s32(res_s32.val[0]), vqmovn_s32(res_s32.val[1]));</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -22553,44 +22319,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00909">909</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00248">vdupq_n_qs8_f32()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00910"></a><span class="lineno"> 910</span> {</div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(static_cast<float>(1 << fixed_point_position));</div>
-<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> </div>
-<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  float32x4x4_t res_f32 =</div>
-<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  {</div>
-<div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  {</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  vbslq_f32(vcgeq_f32(a.val[0], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f)),</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>  vbslq_f32(vcgeq_f32(a.val[1], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f)),</div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  vbslq_f32(vcgeq_f32(a.val[2], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f)),</div>
-<div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  vbslq_f32(vcgeq_f32(a.val[3], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f))</div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span>  }</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span>  };</div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> </div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  res_f32.val[0] = vmlaq_f32(res_f32.val[0], a.val[0], pow2);</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  res_f32.val[1] = vmlaq_f32(res_f32.val[1], a.val[1], pow2);</div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>  res_f32.val[2] = vmlaq_f32(res_f32.val[2], a.val[2], pow2);</div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  res_f32.val[3] = vmlaq_f32(res_f32.val[3], a.val[3], pow2);</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> </div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  <span class="keyword">const</span> int32x4x4_t res_s32 =</div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>  {</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span>  {</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>  vcvtq_s32_f32(res_f32.val[0]),</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span>  vcvtq_s32_f32(res_f32.val[1]),</div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  vcvtq_s32_f32(res_f32.val[2]),</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  vcvtq_s32_f32(res_f32.val[3]),</div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  }</div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  };</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> </div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span>  <span class="keyword">const</span> int16x8x2_t res_s16 =</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span>  {</div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>  {</div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  vcombine_s16(vqmovn_s32(res_s32.val[0]), vqmovn_s32(res_s32.val[1])),</div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  vcombine_s16(vqmovn_s32(res_s32.val[2]), vqmovn_s32(res_s32.val[3])),</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  }</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span>  };</div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> </div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span>  <span class="keywordflow">return</span> vcombine_s8(vqmovn_s16(res_s16.val[0]), vqmovn_s16(res_s16.val[1]));</div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span> }</div>
+<div class="fragment"><div class="line"><a name="l00910"></a><span class="lineno"> 910</span> {</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  <span class="keyword">const</span> float32x4_t pow2 = vdupq_n_f32(static_cast<float>(1 << fixed_point_position));</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span> </div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  float32x4x4_t res_f32 =</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  {</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  {</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  vbslq_f32(vcgeq_f32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>.val[0], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f)),</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>  vbslq_f32(vcgeq_f32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>.val[1], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f)),</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  vbslq_f32(vcgeq_f32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>.val[2], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f)),</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  vbslq_f32(vcgeq_f32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>.val[3], vdupq_n_f32(0)), vdupq_n_f32(0.5f), vdupq_n_f32(-0.5f))</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>  }</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>  };</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span> </div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  res_f32.val[0] = vmlaq_f32(res_f32.val[0], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>.val[0], pow2);</div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  res_f32.val[1] = vmlaq_f32(res_f32.val[1], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>.val[1], pow2);</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>  res_f32.val[2] = vmlaq_f32(res_f32.val[2], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>.val[2], pow2);</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  res_f32.val[3] = vmlaq_f32(res_f32.val[3], <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>.val[3], pow2);</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span> </div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  <span class="keyword">const</span> int32x4x4_t res_s32 =</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>  {</div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>  {</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>  vcvtq_s32_f32(res_f32.val[0]),</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>  vcvtq_s32_f32(res_f32.val[1]),</div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  vcvtq_s32_f32(res_f32.val[2]),</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  vcvtq_s32_f32(res_f32.val[3]),</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  }</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  };</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span> </div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>  <span class="keyword">const</span> int16x8x2_t res_s16 =</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>  {</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>  {</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  vcombine_s16(vqmovn_s32(res_s32.val[0]), vqmovn_s32(res_s32.val[1])),</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  vcombine_s16(vqmovn_s32(res_s32.val[2]), vqmovn_s32(res_s32.val[3])),</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  }</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>  };</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span> </div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>  <span class="keywordflow">return</span> vcombine_s8(vqmovn_s16(res_s16.val[0]), vqmovn_s16(res_s16.val[1]));</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -22604,7 +22333,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqexp_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -22638,35 +22367,13 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01468">1468</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00309">vqabs_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00570">vqmul_qs16()</a>.</p>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00109">arm_compute::test::validation::alpha</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00309">vqabs_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00570">vqmul_qs16()</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01939">vqtanh_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01469"></a><span class="lineno"> 1469</span> {</div>
-<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vdup_n_s16(fixed_point_position - 15);</div>
-<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1 << fixed_point_position);</div>
-<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_ln2 = vqrshl_s16(vdup_n_s16(0x58B9), shift_value); <span class="comment">// ln(2)</span></div>
-<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_inv_ln2 = vorr_s16(vqrshl_s16(vdup_n_s16(0x38AA), shift_value), const_one); <span class="comment">// 1/ln(2)</span></div>
-<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span> </div>
-<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>  <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div>
-<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> m = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(a, const_inv_ln2, fixed_point_position); <span class="comment">// x / ln(2)</span></div>
-<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span> </div>
-<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>  <span class="comment">// get decimal part from m</span></div>
-<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> dec_m = vqshl_s16(m, vdup_n_s16(-fixed_point_position));</div>
-<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span> </div>
-<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> alpha = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(vqshl_s16(dec_m, vdup_n_s16(fixed_point_position)), const_ln2, fixed_point_position);</div>
-<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>  alpha = <a class="code" href="namespacearm__compute.xhtml#a7c97511a35de87be34f48b4ab4b3c222">vqabs_qs16</a>(vqsub_s16(a, alpha));</div>
-<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span> </div>
-<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>  <span class="comment">// Polynomial Approximation</span></div>
-<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> poly = vqtaylor_poly_qs16<false>(alpha, fixed_point_position);</div>
-<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>  poly = vqadd_s16(poly, const_one);</div>
-<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span> </div>
-<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>  <span class="comment">// Reconstruct</span></div>
-<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>  poly = vqshl_s16(poly, dec_m);</div>
-<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span> </div>
-<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>  <span class="keywordflow">return</span> poly;</div>
-<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_aec34399f16d824f79571abe464556466"><div class="ttname"><a href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">arm_compute::vqmul_qs16</a></div><div class="ttdeci">qint16x4_t vqmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00570">NEFixedPoint.inl:570</a></div></div>
+<div class="fragment"><div class="line"><a name="l01469"></a><span class="lineno"> 1469</span> {</div><div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vdup_n_s16(fixed_point_position - 15);</div><div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1 << fixed_point_position);</div><div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_ln2 = vqrshl_s16(vdup_n_s16(0x58B9), shift_value); <span class="comment">// ln(2)</span></div><div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_inv_ln2 = vorr_s16(vqrshl_s16(vdup_n_s16(0x38AA), shift_value), const_one); <span class="comment">// 1/ln(2)</span></div><div class="line"><a name="l01474"></a><span class="lineno"> 1474</span> </div><div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>  <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div><div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> m = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, const_inv_ln2, fixed_point_position); <span class="comment">// x / ln(2)</span></div><div class="line"><a name="l01477"></a><span class="lineno"> 1477</span> </div><div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>  <span class="comment">// get decimal part from m</span></div><div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> dec_m = vqshl_s16(m, vdup_n_s16(-fixed_point_position));</div><div class="line"><a name="l01480"></a><span class="lineno"> 1480</span> </div><div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(vqshl_s16(dec_m, vdup_n_s16(fixed_point_position)), const_ln2, fixed_point_position);</div><div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>  alpha = <a class="code" href="namespacearm__compute.xhtml#a7c97511a35de87be34f48b4ab4b3c222">vqabs_qs16</a>(vqsub_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, alpha));</div><div class="line"><a name="l01483"></a><span class="lineno"> 1483</span> </div><div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>  <span class="comment">// Polynomial Approximation</span></div><div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> poly = vqtaylor_poly_qs16<false>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>, fixed_point_position);</div><div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>  poly = vqadd_s16(poly, const_one);</div><div class="line"><a name="l01487"></a><span class="lineno"> 1487</span> </div><div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>  <span class="comment">// Reconstruct</span></div><div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>  poly = vqshl_s16(poly, dec_m);</div><div class="line"><a name="l01490"></a><span class="lineno"> 1490</span> </div><div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>  <span class="keywordflow">return</span> poly;</div><div class="line"><a name="l01492"></a><span class="lineno"> 1492</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_aec34399f16d824f79571abe464556466"><div class="ttname"><a href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">arm_compute::vqmul_qs16</a></div><div class="ttdeci">qint16x4_t vqmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00570">NEFixedPoint.inl:570</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a7c97511a35de87be34f48b4ab4b3c222"><div class="ttname"><a href="namespacearm__compute.xhtml#a7c97511a35de87be34f48b4ab4b3c222">arm_compute::vqabs_qs16</a></div><div class="ttdeci">qint16x4_t vqabs_qs16(qint16x4_t a)</div><div class="ttdoc">Saturating absolute value of 16 bit fixed point vector (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00309">NEFixedPoint.inl:309</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00109">GEMM.cpp:109</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
</div><!-- fragment -->
</div>
@@ -22681,7 +22388,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vqexp_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -22715,36 +22422,14 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01442">1442</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00304">vqabs_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00553">vqmul_qs8()</a>.</p>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00109">arm_compute::test::validation::alpha</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00304">vqabs_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00553">vqmul_qs8()</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01926">vqtanh_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01443"></a><span class="lineno"> 1443</span> {</div>
-<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vdup_n_s8(fixed_point_position - 7);</div>
-<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1 << fixed_point_position);</div>
-<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_ln2 = vqrshl_s8(vdup_n_s8(0x58), shift_value); <span class="comment">// ln(2)</span></div>
-<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_inv_ln2 = vorr_s8(vqrshl_s8(vdup_n_s8(0x38), shift_value), const_one); <span class="comment">// 1/ln(2)</span></div>
-<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span> </div>
-<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>  <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div>
-<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> m = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(a, const_inv_ln2, fixed_point_position); <span class="comment">// x / ln(2)</span></div>
-<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span> </div>
-<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>  <span class="comment">// get decimal part from m</span></div>
-<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> dec_m = vqshl_s8(m, vdup_n_s8(-fixed_point_position));</div>
-<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span> </div>
-<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> alpha = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(vqshl_s8(dec_m, vdup_n_s8(fixed_point_position)), const_ln2, fixed_point_position);</div>
-<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>  alpha = <a class="code" href="namespacearm__compute.xhtml#a4b2c9440d5fa4909ae909869877f39e3">vqabs_qs8</a>(vqsub_s8(a, alpha));</div>
-<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> </div>
-<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>  <span class="comment">// Polynomial Approximation</span></div>
-<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> poly = vqtaylor_poly_qs8<false>(alpha, fixed_point_position);</div>
-<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>  poly = vqadd_s8(poly, const_one);</div>
-<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span> </div>
-<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>  <span class="comment">// Reconstruct</span></div>
-<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>  poly = vqshl_s8(poly, dec_m);</div>
-<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span> </div>
-<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>  <span class="keywordflow">return</span> poly;</div>
-<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a4b2c9440d5fa4909ae909869877f39e3"><div class="ttname"><a href="namespacearm__compute.xhtml#a4b2c9440d5fa4909ae909869877f39e3">arm_compute::vqabs_qs8</a></div><div class="ttdeci">qint8x8_t vqabs_qs8(qint8x8_t a)</div><div class="ttdoc">Saturating absolute value of 8 bit fixed point vector (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00304">NEFixedPoint.inl:304</a></div></div>
+<div class="fragment"><div class="line"><a name="l01443"></a><span class="lineno"> 1443</span> {</div><div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vdup_n_s8(fixed_point_position - 7);</div><div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1 << fixed_point_position);</div><div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_ln2 = vqrshl_s8(vdup_n_s8(0x58), shift_value); <span class="comment">// ln(2)</span></div><div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_inv_ln2 = vorr_s8(vqrshl_s8(vdup_n_s8(0x38), shift_value), const_one); <span class="comment">// 1/ln(2)</span></div><div class="line"><a name="l01448"></a><span class="lineno"> 1448</span> </div><div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>  <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div><div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> m = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, const_inv_ln2, fixed_point_position); <span class="comment">// x / ln(2)</span></div><div class="line"><a name="l01451"></a><span class="lineno"> 1451</span> </div><div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>  <span class="comment">// get decimal part from m</span></div><div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> dec_m = vqshl_s8(m, vdup_n_s8(-fixed_point_position));</div><div class="line"><a name="l01454"></a><span class="lineno"> 1454</span> </div><div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(vqshl_s8(dec_m, vdup_n_s8(fixed_point_position)), const_ln2, fixed_point_position);</div><div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>  alpha = <a class="code" href="namespacearm__compute.xhtml#a4b2c9440d5fa4909ae909869877f39e3">vqabs_qs8</a>(vqsub_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, alpha));</div><div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> </div><div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>  <span class="comment">// Polynomial Approximation</span></div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> poly = vqtaylor_poly_qs8<false>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>, fixed_point_position);</div><div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>  poly = vqadd_s8(poly, const_one);</div><div class="line"><a name="l01461"></a><span class="lineno"> 1461</span> </div><div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>  <span class="comment">// Reconstruct</span></div><div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>  poly = vqshl_s8(poly, dec_m);</div><div class="line"><a name="l01464"></a><span class="lineno"> 1464</span> </div><div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>  <span class="keywordflow">return</span> poly;</div><div class="line"><a name="l01466"></a><span class="lineno"> 1466</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a4b2c9440d5fa4909ae909869877f39e3"><div class="ttname"><a href="namespacearm__compute.xhtml#a4b2c9440d5fa4909ae909869877f39e3">arm_compute::vqabs_qs8</a></div><div class="ttdeci">qint8x8_t vqabs_qs8(qint8x8_t a)</div><div class="ttdoc">Saturating absolute value of 8 bit fixed point vector (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00304">NEFixedPoint.inl:304</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a746205173d1a1f3955fa0c26b5be3b10"><div class="ttname"><a href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">arm_compute::vqmul_qs8</a></div><div class="ttdeci">qint8x8_t vqmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00553">NEFixedPoint.inl:553</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00109">GEMM.cpp:109</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -22758,7 +22443,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqexpq_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -22792,37 +22477,15 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01520">1520</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00319">vqabsq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00607">vqmulq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00474">vqsubq_qs16()</a>.</p>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00109">arm_compute::test::validation::alpha</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00319">vqabsq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00607">vqmulq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00474">vqsubq_qs16()</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01983">vqpowq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01965">vqtanhq_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01521"></a><span class="lineno"> 1521</span> {</div>
-<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vdupq_n_s16(fixed_point_position - 15);</div>
-<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1 << fixed_point_position);</div>
-<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_ln2 = vqrshlq_s16(vdupq_n_s16(0x58B9), shift_value); <span class="comment">// ln(2)</span></div>
-<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_inv_ln2 = vorrq_s16(vqrshlq_s16(vdupq_n_s16(0x38AA), shift_value), const_one); <span class="comment">// 1/ln(2)</span></div>
-<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span> </div>
-<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>  <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div>
-<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> m = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(a, const_inv_ln2, fixed_point_position); <span class="comment">// x / ln(2)</span></div>
-<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span> </div>
-<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>  <span class="comment">// get decimal part from m</span></div>
-<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> dec_m = vqshlq_s16(m, vdupq_n_s16(-fixed_point_position));</div>
-<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span> </div>
-<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> alpha = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(vqshlq_s16(dec_m, vdupq_n_s16(fixed_point_position)), const_ln2, fixed_point_position);</div>
-<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>  alpha = <a class="code" href="namespacearm__compute.xhtml#aa001ed913705cf378d947052435917aa">vqabsq_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">vqsubq_qs16</a>(a, alpha));</div>
-<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span> </div>
-<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>  <span class="comment">// Polynomial Approximation</span></div>
-<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> poly = vqtaylor_polyq_qs16<false>(alpha, fixed_point_position);</div>
-<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>  poly = vqaddq_s16(poly, const_one);</div>
-<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span> </div>
-<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>  <span class="comment">// Reconstruct</span></div>
-<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>  poly = vqshlq_s16(poly, dec_m);</div>
-<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span> </div>
-<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>  <span class="keywordflow">return</span> poly;</div>
-<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a9edb31327a1e06c730d5a09b14dcfeb9"><div class="ttname"><a href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">arm_compute::vqsubq_qs16</a></div><div class="ttdeci">qint16x8_t vqsubq_qs16(qint16x8_t a, qint16x8_t b)</div><div class="ttdoc">16 bit fixed point vector saturating subtraction (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00474">NEFixedPoint.inl:474</a></div></div>
+<div class="fragment"><div class="line"><a name="l01521"></a><span class="lineno"> 1521</span> {</div><div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vdupq_n_s16(fixed_point_position - 15);</div><div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1 << fixed_point_position);</div><div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_ln2 = vqrshlq_s16(vdupq_n_s16(0x58B9), shift_value); <span class="comment">// ln(2)</span></div><div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_inv_ln2 = vorrq_s16(vqrshlq_s16(vdupq_n_s16(0x38AA), shift_value), const_one); <span class="comment">// 1/ln(2)</span></div><div class="line"><a name="l01526"></a><span class="lineno"> 1526</span> </div><div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>  <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div><div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> m = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, const_inv_ln2, fixed_point_position); <span class="comment">// x / ln(2)</span></div><div class="line"><a name="l01529"></a><span class="lineno"> 1529</span> </div><div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>  <span class="comment">// get decimal part from m</span></div><div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> dec_m = vqshlq_s16(m, vdupq_n_s16(-fixed_point_position));</div><div class="line"><a name="l01532"></a><span class="lineno"> 1532</span> </div><div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(vqshlq_s16(dec_m, vdupq_n_s16(fixed_point_position)), const_ln2, fixed_point_position);</div><div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>  alpha = <a class="code" href="namespacearm__compute.xhtml#aa001ed913705cf378d947052435917aa">vqabsq_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">vqsubq_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, alpha));</div><div class="line"><a name="l01535"></a><span class="lineno"> 1535</span> </div><div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>  <span class="comment">// Polynomial Approximation</span></div><div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> poly = vqtaylor_polyq_qs16<false>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>, fixed_point_position);</div><div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>  poly = vqaddq_s16(poly, const_one);</div><div class="line"><a name="l01539"></a><span class="lineno"> 1539</span> </div><div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>  <span class="comment">// Reconstruct</span></div><div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>  poly = vqshlq_s16(poly, dec_m);</div><div class="line"><a name="l01542"></a><span class="lineno"> 1542</span> </div><div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>  <span class="keywordflow">return</span> poly;</div><div class="line"><a name="l01544"></a><span class="lineno"> 1544</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a9edb31327a1e06c730d5a09b14dcfeb9"><div class="ttname"><a href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">arm_compute::vqsubq_qs16</a></div><div class="ttdeci">qint16x8_t vqsubq_qs16(qint16x8_t a, qint16x8_t b)</div><div class="ttdoc">16 bit fixed point vector saturating subtraction (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00474">NEFixedPoint.inl:474</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_aa001ed913705cf378d947052435917aa"><div class="ttname"><a href="namespacearm__compute.xhtml#aa001ed913705cf378d947052435917aa">arm_compute::vqabsq_qs16</a></div><div class="ttdeci">qint16x8_t vqabsq_qs16(qint16x8_t a)</div><div class="ttdoc">Saturating absolute value of 16 bit fixed point vector (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00319">NEFixedPoint.inl:319</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a982d792d366430a954d96e8575d3c313"><div class="ttname"><a href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">arm_compute::vqmulq_qs16</a></div><div class="ttdeci">qint16x8_t vqmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00607">NEFixedPoint.inl:607</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00109">GEMM.cpp:109</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -22836,7 +22499,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqexpq_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -22870,37 +22533,15 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01494">1494</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00314">vqabsq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00587">vqmulq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00469">vqsubq_qs8()</a>.</p>
+<p>References <a class="el" href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00109">arm_compute::test::validation::alpha</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00314">vqabsq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00587">vqmulq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00469">vqsubq_qs8()</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01978">vqpowq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01952">vqtanhq_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01495"></a><span class="lineno"> 1495</span> {</div>
-<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vdupq_n_s8(fixed_point_position - 7);</div>
-<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1 << fixed_point_position);</div>
-<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_ln2 = vqrshlq_s8(vdupq_n_s8(0x58), shift_value); <span class="comment">// ln(2)</span></div>
-<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_inv_ln2 = vorrq_s8(vqrshlq_s8(vdupq_n_s8(0x38), shift_value), const_one); <span class="comment">// 1/ln(2)</span></div>
-<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span> </div>
-<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>  <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div>
-<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> m = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(a, const_inv_ln2, fixed_point_position); <span class="comment">// x / ln(2)</span></div>
-<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> </div>
-<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>  <span class="comment">// get decimal part from m</span></div>
-<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> dec_m = vqshlq_s8(m, vdupq_n_s8(-fixed_point_position));</div>
-<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span> </div>
-<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> alpha = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(vqshlq_s8(dec_m, vdupq_n_s8(fixed_point_position)), const_ln2, fixed_point_position);</div>
-<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>  alpha = <a class="code" href="namespacearm__compute.xhtml#ac8095edd652a1f3a76bf9d0f4251827a">vqabsq_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#ab2a6ce3d8239e49c81af1ebc617680b4">vqsubq_qs8</a>(a, alpha));</div>
-<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span> </div>
-<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>  <span class="comment">// Polynomial Approximation</span></div>
-<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> poly = vqtaylor_polyq_qs8<false>(alpha, fixed_point_position);</div>
-<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>  poly = vqaddq_s8(poly, const_one);</div>
-<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span> </div>
-<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>  <span class="comment">// Reconstruct</span></div>
-<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>  poly = vqshlq_s8(poly, dec_m);</div>
-<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span> </div>
-<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>  <span class="keywordflow">return</span> poly;</div>
-<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span> }</div>
+<div class="fragment"><div class="line"><a name="l01495"></a><span class="lineno"> 1495</span> {</div><div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vdupq_n_s8(fixed_point_position - 7);</div><div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1 << fixed_point_position);</div><div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_ln2 = vqrshlq_s8(vdupq_n_s8(0x58), shift_value); <span class="comment">// ln(2)</span></div><div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_inv_ln2 = vorrq_s8(vqrshlq_s8(vdupq_n_s8(0x38), shift_value), const_one); <span class="comment">// 1/ln(2)</span></div><div class="line"><a name="l01500"></a><span class="lineno"> 1500</span> </div><div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>  <span class="comment">// Perform range reduction [-log(2),log(2)]</span></div><div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> m = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, const_inv_ln2, fixed_point_position); <span class="comment">// x / ln(2)</span></div><div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> </div><div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>  <span class="comment">// get decimal part from m</span></div><div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> dec_m = vqshlq_s8(m, vdupq_n_s8(-fixed_point_position));</div><div class="line"><a name="l01506"></a><span class="lineno"> 1506</span> </div><div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a> = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(vqshlq_s8(dec_m, vdupq_n_s8(fixed_point_position)), const_ln2, fixed_point_position);</div><div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>  alpha = <a class="code" href="namespacearm__compute.xhtml#ac8095edd652a1f3a76bf9d0f4251827a">vqabsq_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#ab2a6ce3d8239e49c81af1ebc617680b4">vqsubq_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, alpha));</div><div class="line"><a name="l01509"></a><span class="lineno"> 1509</span> </div><div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>  <span class="comment">// Polynomial Approximation</span></div><div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> poly = vqtaylor_polyq_qs8<false>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">alpha</a>, fixed_point_position);</div><div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>  poly = vqaddq_s8(poly, const_one);</div><div class="line"><a name="l01513"></a><span class="lineno"> 1513</span> </div><div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>  <span class="comment">// Reconstruct</span></div><div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>  poly = vqshlq_s8(poly, dec_m);</div><div class="line"><a name="l01516"></a><span class="lineno"> 1516</span> </div><div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>  <span class="keywordflow">return</span> poly;</div><div class="line"><a name="l01518"></a><span class="lineno"> 1518</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ac8095edd652a1f3a76bf9d0f4251827a"><div class="ttname"><a href="namespacearm__compute.xhtml#ac8095edd652a1f3a76bf9d0f4251827a">arm_compute::vqabsq_qs8</a></div><div class="ttdeci">qint8x16_t vqabsq_qs8(qint8x16_t a)</div><div class="ttdoc">Saturating absolute value of 8 bit fixed point vector (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00314">NEFixedPoint.inl:314</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a081c0605c83155125ad95a144a1d6071"><div class="ttname"><a href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">arm_compute::vqmulq_qs8</a></div><div class="ttdeci">qint8x16_t vqmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00587">NEFixedPoint.inl:587</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab2a6ce3d8239e49c81af1ebc617680b4"><div class="ttname"><a href="namespacearm__compute.xhtml#ab2a6ce3d8239e49c81af1ebc617680b4">arm_compute::vqsubq_qs8</a></div><div class="ttdeci">qint8x16_t vqsubq_qs8(qint8x16_t a, qint8x16_t b)</div><div class="ttdoc">8 bit fixed point vector saturating subtraction (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00469">NEFixedPoint.inl:469</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a62197192f0fbf4e0675eb37be1c4c175"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a62197192f0fbf4e0675eb37be1c4c175">arm_compute::test::validation::alpha</a></div><div class="ttdeci">alpha</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00109">GEMM.cpp:109</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -22914,7 +22555,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqinvsqrt_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -22949,34 +22590,8 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01785">1785</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00238">vdup_n_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00570">vqmul_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01786"></a><span class="lineno"> 1786</span> {</div>
-<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_three = vdup_n_s16(3 << fixed_point_position);</div>
-<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span> </div>
-<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span>  <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div>
-<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vqneg_s16(vqsub_s16(vdup_n_s16(16), vqadd_s16(vclz_s16(a), vdup_n_s16(fixed_point_position))));</div>
-<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span> </div>
-<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span>  <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div>
-<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> temp = vqsub_s16(vdup_n_s16(16), vqadd_s16(vclz_s16(a), vdup_n_s16(fixed_point_position)));</div>
-<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>  uint16x4_t temp_ltz = vclt_s16(temp, <a class="code" href="namespacearm__compute.xhtml#a1f6c3965dec29d8ac84ff84a164e9d8e">vdup_n_qs16</a>(0));</div>
-<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>  temp = vbsl_s16(temp_ltz, vqadd_s16(temp, vdup_n_s16(1)), temp);</div>
-<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value2 = vqneg_s16(vshr_n_s16(temp, 1));</div>
-<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span> </div>
-<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>  temp = vqshl_s16(a, shift_value);</div>
-<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span> </div>
-<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>  <span class="comment">// Initial guess</span></div>
-<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x = temp;</div>
-<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span> </div>
-<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>  <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div>
-<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>  <span class="comment">// After five iterations we have the result for 16 bit</span></div>
-<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>  x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>  x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>  x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span>  x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>  x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span> </div>
-<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>  <span class="keywordflow">return</span> vqshl_s16(x, shift_value2);</div>
-<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_aec34399f16d824f79571abe464556466"><div class="ttname"><a href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">arm_compute::vqmul_qs16</a></div><div class="ttdeci">qint16x4_t vqmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00570">NEFixedPoint.inl:570</a></div></div>
+<div class="fragment"><div class="line"><a name="l01786"></a><span class="lineno"> 1786</span> {</div><div class="line"><a name="l01787"></a><span class="lineno"> 1787</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_three = vdup_n_s16(3 << fixed_point_position);</div><div class="line"><a name="l01788"></a><span class="lineno"> 1788</span> </div><div class="line"><a name="l01789"></a><span class="lineno"> 1789</span>  <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div><div class="line"><a name="l01790"></a><span class="lineno"> 1790</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vqneg_s16(vqsub_s16(vdup_n_s16(16), vqadd_s16(vclz_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vdup_n_s16(fixed_point_position))));</div><div class="line"><a name="l01791"></a><span class="lineno"> 1791</span> </div><div class="line"><a name="l01792"></a><span class="lineno"> 1792</span>  <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div><div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> temp = vqsub_s16(vdup_n_s16(16), vqadd_s16(vclz_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vdup_n_s16(fixed_point_position)));</div><div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>  uint16x4_t temp_ltz = vclt_s16(temp, <a class="code" href="namespacearm__compute.xhtml#a1f6c3965dec29d8ac84ff84a164e9d8e">vdup_n_qs16</a>(0));</div><div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>  temp = vbsl_s16(temp_ltz, vqadd_s16(temp, vdup_n_s16(1)), temp);</div><div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value2 = vqneg_s16(vshr_n_s16(temp, 1));</div><div class="line"><a name="l01797"></a><span class="lineno"> 1797</span> </div><div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>  temp = vqshl_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, shift_value);</div><div class="line"><a name="l01799"></a><span class="lineno"> 1799</span> </div><div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>  <span class="comment">// Initial guess</span></div><div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x = temp;</div><div class="line"><a name="l01802"></a><span class="lineno"> 1802</span> </div><div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>  <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div><div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>  <span class="comment">// After five iterations we have the result for 16 bit</span></div><div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>  x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>  x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>  x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01808"></a><span class="lineno"> 1808</span>  x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>  x = vshr_n_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01810"></a><span class="lineno"> 1810</span> </div><div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>  <span class="keywordflow">return</span> vqshl_s16(x, shift_value2);</div><div class="line"><a name="l01812"></a><span class="lineno"> 1812</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_aec34399f16d824f79571abe464556466"><div class="ttname"><a href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">arm_compute::vqmul_qs16</a></div><div class="ttdeci">qint16x4_t vqmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00570">NEFixedPoint.inl:570</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1f6c3965dec29d8ac84ff84a164e9d8e"><div class="ttname"><a href="namespacearm__compute.xhtml#a1f6c3965dec29d8ac84ff84a164e9d8e">arm_compute::vdup_n_qs16</a></div><div class="ttdeci">qint16x4_t vdup_n_qs16(qint16_t a)</div><div class="ttdoc">16 bit fixed point vector duplicate (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00238">NEFixedPoint.inl:238</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
</div><!-- fragment -->
@@ -22992,7 +22607,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vqinvsqrt_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -23027,31 +22642,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01758">1758</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00233">vdup_n_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00553">vqmul_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01759"></a><span class="lineno"> 1759</span> {</div>
-<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_three = vdup_n_s8(3 << fixed_point_position);</div>
-<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span> </div>
-<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>  <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div>
-<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vqneg_s8(vqsub_s8(vdup_n_s8(8), vqadd_s8(vclz_s8(a), vdup_n_s8(fixed_point_position))));</div>
-<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span> </div>
-<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>  <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div>
-<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> temp = vqsub_s8(vdup_n_s8(8), vqadd_s8(vclz_s8(a), vdup_n_s8(fixed_point_position)));</div>
-<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>  uint8x8_t temp_ltz = vclt_s8(temp, <a class="code" href="namespacearm__compute.xhtml#a1a226812e3cfdf3494adbdd92d4a1cb3">vdup_n_qs8</a>(0));</div>
-<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>  temp = vbsl_s8(temp_ltz, vqadd_s8(temp, vdup_n_s8(1)), temp);</div>
-<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value2 = vqneg_s8(vshr_n_s8(temp, 1));</div>
-<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span> </div>
-<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>  temp = vqshl_s8(a, shift_value);</div>
-<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span> </div>
-<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>  <span class="comment">// Initial guess</span></div>
-<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x = temp;</div>
-<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span> </div>
-<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>  <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div>
-<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>  <span class="comment">// After three iterations we have the result for 8 bit</span></div>
-<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span>  x = vshr_n_s8(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, vqsub_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>  x = vshr_n_s8(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, vqsub_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>  x = vshr_n_s8(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, vqsub_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span> </div>
-<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>  <span class="keywordflow">return</span> vqshl_s8(x, shift_value2);</div>
-<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span> }</div>
+<div class="fragment"><div class="line"><a name="l01759"></a><span class="lineno"> 1759</span> {</div><div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_three = vdup_n_s8(3 << fixed_point_position);</div><div class="line"><a name="l01761"></a><span class="lineno"> 1761</span> </div><div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>  <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div><div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vqneg_s8(vqsub_s8(vdup_n_s8(8), vqadd_s8(vclz_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vdup_n_s8(fixed_point_position))));</div><div class="line"><a name="l01764"></a><span class="lineno"> 1764</span> </div><div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>  <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div><div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> temp = vqsub_s8(vdup_n_s8(8), vqadd_s8(vclz_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vdup_n_s8(fixed_point_position)));</div><div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>  uint8x8_t temp_ltz = vclt_s8(temp, <a class="code" href="namespacearm__compute.xhtml#a1a226812e3cfdf3494adbdd92d4a1cb3">vdup_n_qs8</a>(0));</div><div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>  temp = vbsl_s8(temp_ltz, vqadd_s8(temp, vdup_n_s8(1)), temp);</div><div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value2 = vqneg_s8(vshr_n_s8(temp, 1));</div><div class="line"><a name="l01770"></a><span class="lineno"> 1770</span> </div><div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>  temp = vqshl_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, shift_value);</div><div class="line"><a name="l01772"></a><span class="lineno"> 1772</span> </div><div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>  <span class="comment">// Initial guess</span></div><div class="line"><a name="l01774"></a><span class="lineno"> 1774</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x = temp;</div><div class="line"><a name="l01775"></a><span class="lineno"> 1775</span> </div><div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>  <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div><div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>  <span class="comment">// After three iterations we have the result for 8 bit</span></div><div class="line"><a name="l01778"></a><span class="lineno"> 1778</span>  x = vshr_n_s8(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, vqsub_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>  x = vshr_n_s8(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, vqsub_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>  x = vshr_n_s8(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, vqsub_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01781"></a><span class="lineno"> 1781</span> </div><div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>  <span class="keywordflow">return</span> vqshl_s8(x, shift_value2);</div><div class="line"><a name="l01783"></a><span class="lineno"> 1783</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a746205173d1a1f3955fa0c26b5be3b10"><div class="ttname"><a href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">arm_compute::vqmul_qs8</a></div><div class="ttdeci">qint8x8_t vqmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00553">NEFixedPoint.inl:553</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1a226812e3cfdf3494adbdd92d4a1cb3"><div class="ttname"><a href="namespacearm__compute.xhtml#a1a226812e3cfdf3494adbdd92d4a1cb3">arm_compute::vdup_n_qs8</a></div><div class="ttdeci">qint8x8_t vdup_n_qs8(qint8_t a)</div><div class="ttdoc">8 bit fixed point vector duplicate (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00233">NEFixedPoint.inl:233</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
@@ -23068,7 +22659,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqinvsqrtq_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -23103,33 +22694,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01897">1897</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="namespacearm__compute.xhtml#a740436aed8843612da747f40ff926875">vdupq_n_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00607">vqmulq_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01898"></a><span class="lineno"> 1898</span> {</div>
-<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_three = vdupq_n_s16(3 << fixed_point_position);</div>
-<div class="line"><a name="l01900"></a><span class="lineno"> 1900</span> </div>
-<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span>  <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div>
-<div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vqnegq_s16(vqsubq_s16(vdupq_n_s16(16), vqaddq_s16(vclzq_s16(a), vdupq_n_s16(fixed_point_position))));</div>
-<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span> </div>
-<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span>  <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div>
-<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> temp = vqsubq_s16(vdupq_n_s16(16), vqaddq_s16(vclzq_s16(a), vdupq_n_s16(fixed_point_position)));</div>
-<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>  uint16x8_t temp_ltz = vcltq_s16(temp, <a class="code" href="namespacearm__compute.xhtml#aed2fc8d1b9642b7625379a930ef4914a">vdupq_n_qs16</a>(0));</div>
-<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span>  temp = vbslq_s16(temp_ltz, vqaddq_s16(temp, vdupq_n_s16(1)), temp);</div>
-<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value2 = vqnegq_s16(vshrq_n_s16(temp, 1));</div>
-<div class="line"><a name="l01909"></a><span class="lineno"> 1909</span> </div>
-<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>  temp = vqshlq_s16(a, shift_value);</div>
-<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span> </div>
-<div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>  <span class="comment">// Initial guess</span></div>
-<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x = temp;</div>
-<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span> </div>
-<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>  <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div>
-<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>  <span class="comment">// After five iterations we have the result for 16 bit</span></div>
-<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>  x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>  x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>  x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>  x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span>  x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span> </div>
-<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span>  <span class="keywordflow">return</span> vqshlq_s16(x, shift_value2);</div>
-<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span> }</div>
+<div class="fragment"><div class="line"><a name="l01898"></a><span class="lineno"> 1898</span> {</div><div class="line"><a name="l01899"></a><span class="lineno"> 1899</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_three = vdupq_n_s16(3 << fixed_point_position);</div><div class="line"><a name="l01900"></a><span class="lineno"> 1900</span> </div><div class="line"><a name="l01901"></a><span class="lineno"> 1901</span>  <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div><div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vqnegq_s16(vqsubq_s16(vdupq_n_s16(16), vqaddq_s16(vclzq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vdupq_n_s16(fixed_point_position))));</div><div class="line"><a name="l01903"></a><span class="lineno"> 1903</span> </div><div class="line"><a name="l01904"></a><span class="lineno"> 1904</span>  <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div><div class="line"><a name="l01905"></a><span class="lineno"> 1905</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> temp = vqsubq_s16(vdupq_n_s16(16), vqaddq_s16(vclzq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vdupq_n_s16(fixed_point_position)));</div><div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>  uint16x8_t temp_ltz = vcltq_s16(temp, <a class="code" href="namespacearm__compute.xhtml#aed2fc8d1b9642b7625379a930ef4914a">vdupq_n_qs16</a>(0));</div><div class="line"><a name="l01907"></a><span class="lineno"> 1907</span>  temp = vbslq_s16(temp_ltz, vqaddq_s16(temp, vdupq_n_s16(1)), temp);</div><div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value2 = vqnegq_s16(vshrq_n_s16(temp, 1));</div><div class="line"><a name="l01909"></a><span class="lineno"> 1909</span> </div><div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>  temp = vqshlq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, shift_value);</div><div class="line"><a name="l01911"></a><span class="lineno"> 1911</span> </div><div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>  <span class="comment">// Initial guess</span></div><div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x = temp;</div><div class="line"><a name="l01914"></a><span class="lineno"> 1914</span> </div><div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>  <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div><div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>  <span class="comment">// After five iterations we have the result for 16 bit</span></div><div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>  x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>  x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>  x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>  x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01921"></a><span class="lineno"> 1921</span>  x = vshrq_n_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_three, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01922"></a><span class="lineno"> 1922</span> </div><div class="line"><a name="l01923"></a><span class="lineno"> 1923</span>  <span class="keywordflow">return</span> vqshlq_s16(x, shift_value2);</div><div class="line"><a name="l01924"></a><span class="lineno"> 1924</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_aed2fc8d1b9642b7625379a930ef4914a"><div class="ttname"><a href="namespacearm__compute.xhtml#aed2fc8d1b9642b7625379a930ef4914a">arm_compute::vdupq_n_qs16</a></div><div class="ttdeci">qint16x8_t vdupq_n_qs16(qint16_t a)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00274">NEFixedPoint.inl:274</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a982d792d366430a954d96e8575d3c313"><div class="ttname"><a href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">arm_compute::vqmulq_qs16</a></div><div class="ttdeci">qint16x8_t vqmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00607">NEFixedPoint.inl:607</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
@@ -23146,7 +22711,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqinvsqrtq_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -23181,31 +22746,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01870">1870</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00243">vdupq_n_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00587">vqmulq_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01871"></a><span class="lineno"> 1871</span> {</div>
-<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_three = vdupq_n_s8(3 << fixed_point_position);</div>
-<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span> </div>
-<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span>  <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div>
-<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vqnegq_s8(vqsubq_s8(vdupq_n_s8(8), vqaddq_s8(vclzq_s8(a), vdupq_n_s8(fixed_point_position))));</div>
-<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span> </div>
-<div class="line"><a name="l01877"></a><span class="lineno"> 1877</span>  <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div>
-<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> temp = vqsubq_s8(vdupq_n_s8(8), vqaddq_s8(vclzq_s8(a), vdupq_n_s8(fixed_point_position)));</div>
-<div class="line"><a name="l01879"></a><span class="lineno"> 1879</span>  uint8x16_t temp_ltz = vcltq_s8(temp, <a class="code" href="namespacearm__compute.xhtml#adbd4df93ed00fcda54f91e669ea2be04">vdupq_n_qs8</a>(0));</div>
-<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span>  temp = vbslq_s8(temp_ltz, vqaddq_s8(temp, vdupq_n_s8(1)), temp);</div>
-<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value2 = vqnegq_s8(vshrq_n_s8(temp, 1));</div>
-<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span> </div>
-<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span>  temp = vqshlq_s8(a, shift_value);</div>
-<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span> </div>
-<div class="line"><a name="l01885"></a><span class="lineno"> 1885</span>  <span class="comment">// Initial guess</span></div>
-<div class="line"><a name="l01886"></a><span class="lineno"> 1886</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x = temp;</div>
-<div class="line"><a name="l01887"></a><span class="lineno"> 1887</span> </div>
-<div class="line"><a name="l01888"></a><span class="lineno"> 1888</span>  <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div>
-<div class="line"><a name="l01889"></a><span class="lineno"> 1889</span>  <span class="comment">// After three iterations we have the result for 8 bit</span></div>
-<div class="line"><a name="l01890"></a><span class="lineno"> 1890</span>  x = vshrq_n_s8(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, vqsubq_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01891"></a><span class="lineno"> 1891</span>  x = vshrq_n_s8(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, vqsubq_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01892"></a><span class="lineno"> 1892</span>  x = vshrq_n_s8(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, vqsubq_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div>
-<div class="line"><a name="l01893"></a><span class="lineno"> 1893</span> </div>
-<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>  <span class="keywordflow">return</span> vqshlq_s8(x, shift_value2);</div>
-<div class="line"><a name="l01895"></a><span class="lineno"> 1895</span> }</div>
+<div class="fragment"><div class="line"><a name="l01871"></a><span class="lineno"> 1871</span> {</div><div class="line"><a name="l01872"></a><span class="lineno"> 1872</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_three = vdupq_n_s8(3 << fixed_point_position);</div><div class="line"><a name="l01873"></a><span class="lineno"> 1873</span> </div><div class="line"><a name="l01874"></a><span class="lineno"> 1874</span>  <span class="comment">// Find shift value. Number must be in (0.5, 2) range.</span></div><div class="line"><a name="l01875"></a><span class="lineno"> 1875</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vqnegq_s8(vqsubq_s8(vdupq_n_s8(8), vqaddq_s8(vclzq_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vdupq_n_s8(fixed_point_position))));</div><div class="line"><a name="l01876"></a><span class="lineno"> 1876</span> </div><div class="line"><a name="l01877"></a><span class="lineno"> 1877</span>  <span class="comment">// Add one when the shift value is negative in order to get the correct result when we shift right with 1</span></div><div class="line"><a name="l01878"></a><span class="lineno"> 1878</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> temp = vqsubq_s8(vdupq_n_s8(8), vqaddq_s8(vclzq_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vdupq_n_s8(fixed_point_position)));</div><div class="line"><a name="l01879"></a><span class="lineno"> 1879</span>  uint8x16_t temp_ltz = vcltq_s8(temp, <a class="code" href="namespacearm__compute.xhtml#adbd4df93ed00fcda54f91e669ea2be04">vdupq_n_qs8</a>(0));</div><div class="line"><a name="l01880"></a><span class="lineno"> 1880</span>  temp = vbslq_s8(temp_ltz, vqaddq_s8(temp, vdupq_n_s8(1)), temp);</div><div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value2 = vqnegq_s8(vshrq_n_s8(temp, 1));</div><div class="line"><a name="l01882"></a><span class="lineno"> 1882</span> </div><div class="line"><a name="l01883"></a><span class="lineno"> 1883</span>  temp = vqshlq_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, shift_value);</div><div class="line"><a name="l01884"></a><span class="lineno"> 1884</span> </div><div class="line"><a name="l01885"></a><span class="lineno"> 1885</span>  <span class="comment">// Initial guess</span></div><div class="line"><a name="l01886"></a><span class="lineno"> 1886</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x = temp;</div><div class="line"><a name="l01887"></a><span class="lineno"> 1887</span> </div><div class="line"><a name="l01888"></a><span class="lineno"> 1888</span>  <span class="comment">// Calculate (x / 2) * (3 - a * x^2)</span></div><div class="line"><a name="l01889"></a><span class="lineno"> 1889</span>  <span class="comment">// After three iterations we have the result for 8 bit</span></div><div class="line"><a name="l01890"></a><span class="lineno"> 1890</span>  x = vshrq_n_s8(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, vqsubq_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01891"></a><span class="lineno"> 1891</span>  x = vshrq_n_s8(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, vqsubq_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01892"></a><span class="lineno"> 1892</span>  x = vshrq_n_s8(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, vqsubq_s8(const_three, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, x, fixed_point_position), fixed_point_position)), fixed_point_position), 1);</div><div class="line"><a name="l01893"></a><span class="lineno"> 1893</span> </div><div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>  <span class="keywordflow">return</span> vqshlq_s8(x, shift_value2);</div><div class="line"><a name="l01895"></a><span class="lineno"> 1895</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_adbd4df93ed00fcda54f91e669ea2be04"><div class="ttname"><a href="namespacearm__compute.xhtml#adbd4df93ed00fcda54f91e669ea2be04">arm_compute::vdupq_n_qs8</a></div><div class="ttdeci">qint8x16_t vdupq_n_qs8(qint8_t a)</div><div class="ttdoc">8 bit fixed point vector duplicate (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00243">NEFixedPoint.inl:243</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a081c0605c83155125ad95a144a1d6071"><div class="ttname"><a href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">arm_compute::vqmulq_qs8</a></div><div class="ttdeci">qint8x16_t vqmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00587">NEFixedPoint.inl:587</a></div></div>
@@ -23222,19 +22763,19 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqmla_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
@@ -23270,22 +22811,10 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate. The result is saturated in case of overflow </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00741">741</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00742"></a><span class="lineno"> 742</span> {</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
-<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> </div>
-<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
-<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp = vdupq_n_s32(1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> </div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  <span class="comment">// Vector multiply-accumulate long</span></div>
-<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  tmp = vmlal_s16(tmp, b, c);</div>
-<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> </div>
-<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>  <span class="comment">// Shift right by fixed_point_position</span></div>
-<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>  tmp = vqshlq_s32(tmp, fixed_point_position_s32);</div>
-<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> </div>
-<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  <span class="comment">// Convert back to qint8 and accumulate</span></div>
-<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  <span class="keywordflow">return</span> vqadd_s16(a, vqmovn_s32(tmp));</div>
-<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> }</div>
+<div class="fragment"><div class="line"><a name="l00742"></a><span class="lineno"> 742</span> {</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span> </div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp = vdupq_n_s32(1 << (fixed_point_position - 1));</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span> </div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  <span class="comment">// Vector multiply-accumulate long</span></div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  tmp = vmlal_s16(tmp, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">c</a>);</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span> </div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>  <span class="comment">// Shift right by fixed_point_position</span></div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>  tmp = vqshlq_s32(tmp, fixed_point_position_s32);</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span> </div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  <span class="comment">// Convert back to qint8 and accumulate</span></div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  <span class="keywordflow">return</span> vqadd_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, vqmovn_s32(tmp));</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a497347573faa3778743ddf277f861094"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">arm_compute::test::validation::c</a></div><div class="ttdeci">Tensor c</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00117">GEMM.cpp:117</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -23299,19 +22828,19 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vqmla_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
@@ -23347,22 +22876,10 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate. The result is saturated in case of overflow </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00724">724</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00725"></a><span class="lineno"> 725</span> {</div>
-<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
-<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> </div>
-<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
-<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp = vdupq_n_s16(1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> </div>
-<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  <span class="comment">// Vector multiply-accumulate long</span></div>
-<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  tmp = vmlal_s8(tmp, b, c);</div>
-<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> </div>
-<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  <span class="comment">// Shift right by fixed_point_position</span></div>
-<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  tmp = vqshlq_s16(tmp, fixed_point_position_s16);</div>
-<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> </div>
-<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  <span class="comment">// Convert back to qint8 and accumulate</span></div>
-<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  <span class="keywordflow">return</span> vqadd_s8(a, vqmovn_s16(tmp));</div>
-<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> }</div>
+<div class="fragment"><div class="line"><a name="l00725"></a><span class="lineno"> 725</span> {</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span> </div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp = vdupq_n_s16(1 << (fixed_point_position - 1));</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span> </div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  <span class="comment">// Vector multiply-accumulate long</span></div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  tmp = vmlal_s8(tmp, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">c</a>);</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span> </div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  <span class="comment">// Shift right by fixed_point_position</span></div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  tmp = vqshlq_s16(tmp, fixed_point_position_s16);</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span> </div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  <span class="comment">// Convert back to qint8 and accumulate</span></div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  <span class="keywordflow">return</span> vqadd_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, vqmovn_s16(tmp));</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a497347573faa3778743ddf277f861094"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">arm_compute::test::validation::c</a></div><div class="ttdeci">Tensor c</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00117">GEMM.cpp:117</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -23376,19 +22893,19 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> vqmlal_qs16 </td>
<td>(</td>
- <td class="paramtype">qint32x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
@@ -23424,22 +22941,10 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector multiply-accumulate long </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00851">851</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00852"></a><span class="lineno"> 852</span> {</div>
-<div class="line"><a name="l00853"></a><span class="lineno"> 853</span>  <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
-<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> </div>
-<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
-<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp = vdupq_n_s32(1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> </div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  <span class="comment">// Vector multiply-accumulate long</span></div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  tmp = vmlal_s16(tmp, b, c);</div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> </div>
-<div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  <span class="comment">// Shift right by fixed_point_position</span></div>
-<div class="line"><a name="l00862"></a><span class="lineno"> 862</span>  tmp = vqshlq_s32(tmp, fixed_point_position_s32);</div>
-<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> </div>
-<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  <span class="comment">// Accumulate</span></div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  <span class="keywordflow">return</span> vqaddq_s32(a, tmp);</div>
-<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> }</div>
+<div class="fragment"><div class="line"><a name="l00852"></a><span class="lineno"> 852</span> {</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>  <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span> </div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp = vdupq_n_s32(1 << (fixed_point_position - 1));</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span> </div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  <span class="comment">// Vector multiply-accumulate long</span></div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  tmp = vmlal_s16(tmp, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">c</a>);</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span> </div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  <span class="comment">// Shift right by fixed_point_position</span></div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>  tmp = vqshlq_s32(tmp, fixed_point_position_s32);</div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span> </div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  <span class="comment">// Accumulate</span></div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  <span class="keywordflow">return</span> vqaddq_s32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, tmp);</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a497347573faa3778743ddf277f861094"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">arm_compute::test::validation::c</a></div><div class="ttdeci">Tensor c</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00117">GEMM.cpp:117</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -23453,19 +22958,19 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqmlal_qs8 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
@@ -23501,22 +23006,12 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate long </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00834">834</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00835"></a><span class="lineno"> 835</span> {</div>
-<div class="line"><a name="l00836"></a><span class="lineno"> 836</span>  <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> </div>
-<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
-<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp = vdupq_n_s16(1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> </div>
-<div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  <span class="comment">// Vector multiply-accumulate long</span></div>
-<div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  tmp = vmlal_s8(tmp, b, c);</div>
-<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> </div>
-<div class="line"><a name="l00844"></a><span class="lineno"> 844</span>  <span class="comment">// Shift right by fixed_point_position</span></div>
-<div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  tmp = vqshlq_s16(tmp, fixed_point_position_s16);</div>
-<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> </div>
-<div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  <span class="comment">// Accumulate</span></div>
-<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  <span class="keywordflow">return</span> vqaddq_s16(a, tmp);</div>
-<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> }</div>
+
+<p>Referenced by <a class="el" href="_n_e_direct_convolution_detail_8h_source.xhtml#l00184">arm_compute::detail::convolve_3x3< 1 >()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00835"></a><span class="lineno"> 835</span> {</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>  <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span> </div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp = vdupq_n_s16(1 << (fixed_point_position - 1));</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span> </div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  <span class="comment">// Vector multiply-accumulate long</span></div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  tmp = vmlal_s8(tmp, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">c</a>);</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span> </div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>  <span class="comment">// Shift right by fixed_point_position</span></div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  tmp = vqshlq_s16(tmp, fixed_point_position_s16);</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span> </div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  <span class="comment">// Accumulate</span></div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  <span class="keywordflow">return</span> vqaddq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, tmp);</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a497347573faa3778743ddf277f861094"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">arm_compute::test::validation::c</a></div><div class="ttdeci">Tensor c</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00117">GEMM.cpp:117</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -23530,19 +23025,19 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqmlaq_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
@@ -23580,29 +23075,13 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00779">779</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00148">vget_high_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00138">vget_low_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00780"></a><span class="lineno"> 780</span> {</div>
-<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
-<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> </div>
-<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
-<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp0 = vdupq_n_s32(1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp1 = tmp0;</div>
-<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> </div>
-<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  <span class="comment">// Vector multiply-accumulate long</span></div>
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  tmp0 = vmlal_s16(tmp0, <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(b), <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(c));</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  tmp1 = vmlal_s16(tmp1, <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(b), <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(c));</div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> </div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <span class="comment">// Shift right by fixed_point_position</span></div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  tmp0 = vqshlq_s32(tmp0, fixed_point_position_s32);</div>
-<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  tmp1 = vqshlq_s32(tmp1, fixed_point_position_s32);</div>
-<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> </div>
-<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  <span class="comment">// Convert back to qint16 and accumulate</span></div>
-<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res = vcombine_s16(vqmovn_s32(tmp0), vqmovn_s32(tmp1));</div>
-<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  <span class="keywordflow">return</span> vqaddq_s16(a, res);</div>
-<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> }</div>
+<div class="fragment"><div class="line"><a name="l00780"></a><span class="lineno"> 780</span> {</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span> </div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp0 = vdupq_n_s32(1 << (fixed_point_position - 1));</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> tmp1 = tmp0;</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span> </div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  <span class="comment">// Vector multiply-accumulate long</span></div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  tmp0 = vmlal_s16(tmp0, <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>), <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">c</a>));</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  tmp1 = vmlal_s16(tmp1, <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>), <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">c</a>));</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span> </div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <span class="comment">// Shift right by fixed_point_position</span></div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  tmp0 = vqshlq_s32(tmp0, fixed_point_position_s32);</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  tmp1 = vqshlq_s32(tmp1, fixed_point_position_s32);</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span> </div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  <span class="comment">// Convert back to qint16 and accumulate</span></div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res = vcombine_s16(vqmovn_s32(tmp0), vqmovn_s32(tmp1));</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  <span class="keywordflow">return</span> vqaddq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, res);</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ac2edef8bf07bce91b37aa02b952b8ed6"><div class="ttname"><a href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">arm_compute::vget_high_qs16</a></div><div class="ttdeci">qint16x4_t vget_high_qs16(qint16x8_t a)</div><div class="ttdoc">Get the higher half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00148">NEFixedPoint.inl:148</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ae895c5b470fcf069afd626bb36c63e3d"><div class="ttname"><a href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">arm_compute::vget_low_qs16</a></div><div class="ttdeci">qint16x4_t vget_low_qs16(qint16x8_t a)</div><div class="ttdoc">Get the lower half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00138">NEFixedPoint.inl:138</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a497347573faa3778743ddf277f861094"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">arm_compute::test::validation::c</a></div><div class="ttdeci">Tensor c</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00117">GEMM.cpp:117</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -23616,19 +23095,19 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqmlaq_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
@@ -23664,27 +23143,11 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector multiply-accumulate.The result is saturated in case of overflow </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00758">758</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00759"></a><span class="lineno"> 759</span> {</div>
-<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
-<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> </div>
-<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
-<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp0 = vdupq_n_s16(1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp1 = tmp0;</div>
-<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> </div>
-<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  <span class="comment">// Vector multiply-accumulate long</span></div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  tmp0 = vmlal_s8(tmp0, vget_low_s8(b), vget_low_s8(c));</div>
-<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  tmp1 = vmlal_s8(tmp1, vget_high_s8(b), vget_high_s8(c));</div>
-<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> </div>
-<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  <span class="comment">// Shift right by fixed_point_position</span></div>
-<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  tmp0 = vqshlq_s16(tmp0, fixed_point_position_s16);</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  tmp1 = vqshlq_s16(tmp1, fixed_point_position_s16);</div>
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> </div>
-<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  <span class="comment">// Convert back to qint8 and accumulate</span></div>
-<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> res = vcombine_s8(vqmovn_s16(tmp0), vqmovn_s16(tmp1));</div>
-<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  <span class="keywordflow">return</span> vqaddq_s8(a, res);</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> }</div>
+<div class="fragment"><div class="line"><a name="l00759"></a><span class="lineno"> 759</span> {</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span> </div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp0 = vdupq_n_s16(1 << (fixed_point_position - 1));</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> tmp1 = tmp0;</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span> </div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  <span class="comment">// Vector multiply-accumulate long</span></div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  tmp0 = vmlal_s8(tmp0, vget_low_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>), vget_low_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">c</a>));</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  tmp1 = vmlal_s8(tmp1, vget_high_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>), vget_high_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">c</a>));</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span> </div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  <span class="comment">// Shift right by fixed_point_position</span></div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  tmp0 = vqshlq_s16(tmp0, fixed_point_position_s16);</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  tmp1 = vqshlq_s16(tmp1, fixed_point_position_s16);</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span> </div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  <span class="comment">// Convert back to qint8 and accumulate</span></div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> res = vcombine_s8(vqmovn_s16(tmp0), vqmovn_s16(tmp1));</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  <span class="keywordflow">return</span> vqaddq_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, res);</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a497347573faa3778743ddf277f861094"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a497347573faa3778743ddf277f861094">arm_compute::test::validation::c</a></div><div class="ttdeci">Tensor c</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00117">GEMM.cpp:117</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -23695,7 +23158,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqmovn_q16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -23720,7 +23183,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqmovn_q32 </td>
<td>(</td>
- <td class="paramtype">qint32x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -23748,7 +23211,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqmovn_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -23761,9 +23224,7 @@
</div><div class="memdoc">
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00223">223</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00224"></a><span class="lineno"> 224</span> {</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keywordflow">return</span> vqmovn_s16(a);</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> }</div>
+<div class="fragment"><div class="line"><a name="l00224"></a><span class="lineno"> 224</span> {</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keywordflow">return</span> vqmovn_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -23777,7 +23238,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqmovn_qs32 </td>
<td>(</td>
- <td class="paramtype">qint32x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> </td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
@@ -23790,9 +23251,7 @@
</div><div class="memdoc">
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00228">228</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00229"></a><span class="lineno"> 229</span> {</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keywordflow">return</span> vqmovn_s32(a);</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> }</div>
+<div class="fragment"><div class="line"><a name="l00229"></a><span class="lineno"> 229</span> {</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keywordflow">return</span> vqmovn_s32(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>);</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -23806,13 +23265,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqmul_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
@@ -23848,22 +23307,9 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00570">570</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01468">vqexp_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01785">vqinvsqrt_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01156">vqrecip_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01939">vqtanh_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01363">vqtaylor_poly_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00571"></a><span class="lineno"> 571</span> {</div>
-<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
-<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> </div>
-<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  <span class="comment">// Initialize the temporary result with a constant used to round up the result</span></div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> res = vdupq_n_s32(1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> </div>
-<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  <span class="comment">// Vector multiply-accumulate long</span></div>
-<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  res = vmlal_s16(res, a, b);</div>
-<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> </div>
-<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  <span class="comment">// Shift right by fixed_point_position</span></div>
-<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  res = vqshlq_s32(res, fixed_point_position_s32);</div>
-<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> </div>
-<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  <span class="comment">// Convert back to qint16 and saturate</span></div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  <span class="keywordflow">return</span> vqmovn_s32(res);</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> }</div>
+<div class="fragment"><div class="line"><a name="l00571"></a><span class="lineno"> 571</span> {</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span> </div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  <span class="comment">// Initialize the temporary result with a constant used to round up the result</span></div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> res = vdupq_n_s32(1 << (fixed_point_position - 1));</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span> </div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  <span class="comment">// Vector multiply-accumulate long</span></div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  res = vmlal_s16(res, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span> </div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  <span class="comment">// Shift right by fixed_point_position</span></div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  res = vqshlq_s32(res, fixed_point_position_s32);</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span> </div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  <span class="comment">// Convert back to qint16 and saturate</span></div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  <span class="keywordflow">return</span> vqmovn_s32(res);</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -23877,13 +23323,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vqmul_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
@@ -23919,22 +23365,9 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00553">553</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01442">vqexp_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01758">vqinvsqrt_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01130">vqrecip_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01926">vqtanh_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01347">vqtaylor_poly_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00554"></a><span class="lineno"> 554</span> {</div>
-<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
-<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> </div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  <span class="comment">// Initialize the temporary result with a constant used to round up the result</span></div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res = vdupq_n_s16(1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> </div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  <span class="comment">// Vector multiply-accumulate long</span></div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  res = vmlal_s8(res, a, b);</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> </div>
-<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  <span class="comment">// Shift right by fixed_point_position</span></div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  res = vqshlq_s16(res, fixed_point_position_s16);</div>
-<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> </div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  <span class="comment">// Convert back to qint8 and saturate</span></div>
-<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  <span class="keywordflow">return</span> vqmovn_s16(res);</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> }</div>
+<div class="fragment"><div class="line"><a name="l00554"></a><span class="lineno"> 554</span> {</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span> </div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  <span class="comment">// Initialize the temporary result with a constant used to round up the result</span></div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res = vdupq_n_s16(1 << (fixed_point_position - 1));</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span> </div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  <span class="comment">// Vector multiply-accumulate long</span></div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  res = vmlal_s8(res, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span> </div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  <span class="comment">// Shift right by fixed_point_position</span></div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  res = vqshlq_s16(res, fixed_point_position_s16);</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span> </div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  <span class="comment">// Convert back to qint8 and saturate</span></div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  <span class="keywordflow">return</span> vqmovn_s16(res);</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -23948,13 +23381,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqmulq_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
@@ -23992,27 +23425,11 @@
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00148">vget_high_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00138">vget_low_qs16()</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01663">vlogq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01520">vqexpq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01897">vqinvsqrtq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01983">vqpowq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01265">vqrecipq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01965">vqtanhq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01427">vqtaylor_polyq_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00608"></a><span class="lineno"> 608</span> {</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>  <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> </div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> res0 = vdupq_n_s32(1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> res1 = res0;</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> </div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  <span class="comment">// Vector multiply-accumulate long</span></div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  res0 = vmlal_s16(res0, <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(a), <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(b));</div>
-<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  res1 = vmlal_s16(res1, <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(a), <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(b));</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> </div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  <span class="comment">// Shift right by fixed_point_position</span></div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  res0 = vqshlq_s32(res0, fixed_point_position_s32);</div>
-<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  res1 = vqshlq_s32(res1, fixed_point_position_s32);</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> </div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  <span class="comment">// Convert back to qint16 and saturate</span></div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  <span class="keywordflow">return</span> vcombine_s16(vqmovn_s32(res0), vqmovn_s32(res1));</div>
-<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> }</div>
+<div class="fragment"><div class="line"><a name="l00608"></a><span class="lineno"> 608</span> {</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>  <span class="keyword">const</span> int32x4_t fixed_point_position_s32 = vdupq_n_s32(-fixed_point_position);</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span> </div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> res0 = vdupq_n_s32(1 << (fixed_point_position - 1));</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  <a class="code" href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">qint32x4_t</a> res1 = res0;</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span> </div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  <span class="comment">// Vector multiply-accumulate long</span></div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  res0 = vmlal_s16(res0, <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), <a class="code" href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">vget_low_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>));</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  res1 = vmlal_s16(res1, <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), <a class="code" href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">vget_high_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>));</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span> </div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  <span class="comment">// Shift right by fixed_point_position</span></div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  res0 = vqshlq_s32(res0, fixed_point_position_s32);</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  res1 = vqshlq_s32(res1, fixed_point_position_s32);</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span> </div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  <span class="comment">// Convert back to qint16 and saturate</span></div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  <span class="keywordflow">return</span> vcombine_s16(vqmovn_s32(res0), vqmovn_s32(res1));</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ac2edef8bf07bce91b37aa02b952b8ed6"><div class="ttname"><a href="namespacearm__compute.xhtml#ac2edef8bf07bce91b37aa02b952b8ed6">arm_compute::vget_high_qs16</a></div><div class="ttdeci">qint16x4_t vget_high_qs16(qint16x8_t a)</div><div class="ttdoc">Get the higher half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00148">NEFixedPoint.inl:148</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ae895c5b470fcf069afd626bb36c63e3d"><div class="ttname"><a href="namespacearm__compute.xhtml#ae895c5b470fcf069afd626bb36c63e3d">arm_compute::vget_low_qs16</a></div><div class="ttdeci">qint16x4_t vget_low_qs16(qint16x8_t a)</div><div class="ttdoc">Get the lower half of a 16 elements vector. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00138">NEFixedPoint.inl:138</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_abd854c117af4dbd12633db2fbc01dd49"><div class="ttname"><a href="namespacearm__compute.xhtml#abd854c117af4dbd12633db2fbc01dd49">arm_compute::qint32x4_t</a></div><div class="ttdeci">int32x4_t qint32x4_t</div><div class="ttdoc">32 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00050">NEFixedPoint.h:50</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -24026,13 +23443,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqmulq_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
@@ -24068,25 +23485,9 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00587">587</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01494">vqexpq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01870">vqinvsqrtq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01978">vqpowq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01238">vqrecipq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01952">vqtanhq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01411">vqtaylor_polyq_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00588"></a><span class="lineno"> 588</span> {</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div>
-<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> </div>
-<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div>
-<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res0 = vdupq_n_s16(1 << (fixed_point_position - 1));</div>
-<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res1 = res0;</div>
-<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> </div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  <span class="comment">// Vector multiply-accumulate long</span></div>
-<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>  res0 = vmlal_s8(res0, vget_low_s8(a), vget_low_s8(b));</div>
-<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  res1 = vmlal_s8(res1, vget_high_s8(a), vget_high_s8(b));</div>
-<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> </div>
-<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  <span class="comment">// Shift right by fixed_point_position</span></div>
-<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  res0 = vqshlq_s16(res0, fixed_point_position_s16);</div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  res1 = vqshlq_s16(res1, fixed_point_position_s16);</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> </div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  <span class="comment">// Convert back to qint8 and saturate</span></div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  <span class="keywordflow">return</span> vcombine_s8(vqmovn_s16(res0), vqmovn_s16(res1));</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> }</div>
+<div class="fragment"><div class="line"><a name="l00588"></a><span class="lineno"> 588</span> {</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  <span class="keyword">const</span> int16x8_t fixed_point_position_s16 = vdupq_n_s16(-fixed_point_position);</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span> </div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  <span class="comment">// Initialize the temporary results with a constant used to round up the result</span></div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res0 = vdupq_n_s16(1 << (fixed_point_position - 1));</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res1 = res0;</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span> </div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  <span class="comment">// Vector multiply-accumulate long</span></div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>  res0 = vmlal_s8(res0, vget_low_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vget_low_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>));</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  res1 = vmlal_s8(res1, vget_high_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vget_high_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>));</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span> </div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  <span class="comment">// Shift right by fixed_point_position</span></div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  res0 = vqshlq_s16(res0, fixed_point_position_s16);</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  res1 = vqshlq_s16(res1, fixed_point_position_s16);</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span> </div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  <span class="comment">// Convert back to qint8 and saturate</span></div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  <span class="keywordflow">return</span> vcombine_s8(vqmovn_s16(res0), vqmovn_s16(res1));</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -24100,13 +23501,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqpowq_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
@@ -24143,11 +23544,10 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01983">1983</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01663">vlogq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01520">vqexpq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00607">vqmulq_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01984"></a><span class="lineno"> 1984</span> {</div>
-<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a5b5e085002cf5a69fb80e6991d0a4556">vqexpq_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(b, <a class="code" href="namespacearm__compute.xhtml#a756ac701185cfc4924443db164fd65ae">vlogq_qs16</a>(a, fixed_point_position), fixed_point_position), fixed_point_position);</div>
-<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span> }</div>
+<div class="fragment"><div class="line"><a name="l01984"></a><span class="lineno"> 1984</span> {</div><div class="line"><a name="l01985"></a><span class="lineno"> 1985</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#a5b5e085002cf5a69fb80e6991d0a4556">vqexpq_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>, <a class="code" href="namespacearm__compute.xhtml#a756ac701185cfc4924443db164fd65ae">vlogq_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, fixed_point_position), fixed_point_position), fixed_point_position);</div><div class="line"><a name="l01986"></a><span class="lineno"> 1986</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a982d792d366430a954d96e8575d3c313"><div class="ttname"><a href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">arm_compute::vqmulq_qs16</a></div><div class="ttdeci">qint16x8_t vqmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00607">NEFixedPoint.inl:607</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5b5e085002cf5a69fb80e6991d0a4556"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b5e085002cf5a69fb80e6991d0a4556">arm_compute::vqexpq_qs16</a></div><div class="ttdeci">qint16x8_t vqexpq_qs16(qint16x8_t a, int fixed_point_position)</div><div class="ttdoc">Calculate saturating exponential fixed point 16 bit (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01520">NEFixedPoint.inl:1520</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a756ac701185cfc4924443db164fd65ae"><div class="ttname"><a href="namespacearm__compute.xhtml#a756ac701185cfc4924443db164fd65ae">arm_compute::vlogq_qs16</a></div><div class="ttdeci">qint16x8_t vlogq_qs16(qint16x8_t a, int fixed_point_position)</div><div class="ttdoc">Calculate logarithm fixed point 16 bit (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01663">NEFixedPoint.inl:1663</a></div></div>
</div><!-- fragment -->
</div>
@@ -24162,13 +23562,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqpowq_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
@@ -24205,12 +23605,11 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01978">1978</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01624">vlogq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01494">vqexpq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00587">vqmulq_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01979"></a><span class="lineno"> 1979</span> {</div>
-<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ae6cf1822b8fbad305677650a2b751247">vqexpq_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(b, <a class="code" href="namespacearm__compute.xhtml#a340b9cd5ad88f1a821498c6fad80e82c">vlogq_qs8</a>(a, fixed_point_position), fixed_point_position), fixed_point_position);</div>
-<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a340b9cd5ad88f1a821498c6fad80e82c"><div class="ttname"><a href="namespacearm__compute.xhtml#a340b9cd5ad88f1a821498c6fad80e82c">arm_compute::vlogq_qs8</a></div><div class="ttdeci">qint8x16_t vlogq_qs8(qint8x16_t a, int fixed_point_position)</div><div class="ttdoc">Calculate logarithm fixed point 16bit (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01624">NEFixedPoint.inl:1624</a></div></div>
+<div class="fragment"><div class="line"><a name="l01979"></a><span class="lineno"> 1979</span> {</div><div class="line"><a name="l01980"></a><span class="lineno"> 1980</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute.xhtml#ae6cf1822b8fbad305677650a2b751247">vqexpq_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>, <a class="code" href="namespacearm__compute.xhtml#a340b9cd5ad88f1a821498c6fad80e82c">vlogq_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, fixed_point_position), fixed_point_position), fixed_point_position);</div><div class="line"><a name="l01981"></a><span class="lineno"> 1981</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a340b9cd5ad88f1a821498c6fad80e82c"><div class="ttname"><a href="namespacearm__compute.xhtml#a340b9cd5ad88f1a821498c6fad80e82c">arm_compute::vlogq_qs8</a></div><div class="ttdeci">qint8x16_t vlogq_qs8(qint8x16_t a, int fixed_point_position)</div><div class="ttdoc">Calculate logarithm fixed point 16bit (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01624">NEFixedPoint.inl:1624</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ae6cf1822b8fbad305677650a2b751247"><div class="ttname"><a href="namespacearm__compute.xhtml#ae6cf1822b8fbad305677650a2b751247">arm_compute::vqexpq_qs8</a></div><div class="ttdeci">qint8x16_t vqexpq_qs8(qint8x16_t a, int fixed_point_position)</div><div class="ttdoc">Calculate saturating exponential fixed point 8bit (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01494">NEFixedPoint.inl:1494</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a081c0605c83155125ad95a144a1d6071"><div class="ttname"><a href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">arm_compute::vqmulq_qs8</a></div><div class="ttdeci">qint8x16_t vqmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00587">NEFixedPoint.inl:587</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -24224,7 +23623,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqrecip_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -24251,32 +23650,8 @@
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00570">vqmul_qs16()</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01939">vqtanh_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> {</div>
-<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>  <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.13 to Q15.0</span></div>
-<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_48_over_17 = vdup_n_s16(0x5A5A >> (13 - fixed_point_position)); <span class="comment">// 2.823</span></div>
-<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_32_over_17 = vdup_n_s16(0x3C3C >> (13 - fixed_point_position)); <span class="comment">// 1.8823</span></div>
-<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1 << fixed_point_position);</div>
-<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_two = vdup_n_s16(2 << fixed_point_position);</div>
-<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> </div>
-<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>  <span class="comment">// Find shift value</span></div>
-<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vqneg_s16(vqsub_s16(vdup_n_s16(8), vqadd_s16(vclz_s16(a), vdup_n_s16(fixed_point_position))));</div>
-<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> temp = vqshl_s16(a, shift_value);</div>
-<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> </div>
-<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>  <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div>
-<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x = vqsub_s16(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, const_32_over_17, fixed_point_position));</div>
-<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> </div>
-<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>  uint16x4_t set_one = vcgt_s16(x, const_one);</div>
-<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>  x = vbsl_s16(set_one, const_one, x);</div>
-<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> </div>
-<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>  <span class="comment">// Use four iterations of Newton-Raphson method to get the result</span></div>
-<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>  x = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>  x = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>  x = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>  x = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> </div>
-<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>  <span class="keywordflow">return</span> vqshl_s16(x, shift_value);</div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_aec34399f16d824f79571abe464556466"><div class="ttname"><a href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">arm_compute::vqmul_qs16</a></div><div class="ttdeci">qint16x4_t vqmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00570">NEFixedPoint.inl:570</a></div></div>
+<div class="fragment"><div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> {</div><div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>  <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.13 to Q15.0</span></div><div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_48_over_17 = vdup_n_s16(0x5A5A >> (13 - fixed_point_position)); <span class="comment">// 2.823</span></div><div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_32_over_17 = vdup_n_s16(0x3C3C >> (13 - fixed_point_position)); <span class="comment">// 1.8823</span></div><div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1 << fixed_point_position);</div><div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_two = vdup_n_s16(2 << fixed_point_position);</div><div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> </div><div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>  <span class="comment">// Find shift value</span></div><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vqneg_s16(vqsub_s16(vdup_n_s16(8), vqadd_s16(vclz_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vdup_n_s16(fixed_point_position))));</div><div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> temp = vqshl_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, shift_value);</div><div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> </div><div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>  <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div><div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x = vqsub_s16(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, const_32_over_17, fixed_point_position));</div><div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> </div><div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>  uint16x4_t set_one = vcgt_s16(x, const_one);</div><div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>  x = vbsl_s16(set_one, const_one, x);</div><div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> </div><div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>  <span class="comment">// Use four iterations of Newton-Raphson method to get the result</span></div><div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>  x = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>  x = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>  x = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>  x = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(x, vqsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> </div><div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>  <span class="keywordflow">return</span> vqshl_s16(x, shift_value);</div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_aec34399f16d824f79571abe464556466"><div class="ttname"><a href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">arm_compute::vqmul_qs16</a></div><div class="ttdeci">qint16x4_t vqmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00570">NEFixedPoint.inl:570</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
</div><!-- fragment -->
</div>
@@ -24291,7 +23666,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqrecip_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -24318,30 +23693,7 @@
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00553">vqmul_qs8()</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01926">vqtanh_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> {</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>  <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.5 to Q7.0</span></div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_48_over_17 = vdup_n_s8(0x5A >> (5 - fixed_point_position)); <span class="comment">// 2.823</span></div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_32_over_17 = vdup_n_s8((0x3C >> (5 - fixed_point_position))); <span class="comment">// 1.8823</span></div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1 << fixed_point_position);</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_two = vdup_n_s8(2 << fixed_point_position);</div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> </div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>  <span class="comment">// Find shift value</span></div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vqneg_s8(vqsub_s8(vdup_n_s8(8), vqadd_s8(vclz_s8(a), vdup_n_s8(fixed_point_position))));</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> temp = vqshl_s8(a, shift_value);</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> </div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>  <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x = vqsub_s8(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, const_32_over_17, fixed_point_position));</div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> </div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>  uint8x8_t set_one = vcgt_s8(x, const_one);</div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>  x = vbsl_s8(set_one, const_one, x);</div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> </div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>  <span class="comment">// Use three iterations of Newton-Raphson method to get the result</span></div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>  x = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, vqsub_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>  x = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, vqsub_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>  x = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, vqsub_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> </div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>  <span class="keywordflow">return</span> vqshl_s8(x, shift_value);</div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> }</div>
+<div class="fragment"><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> {</div><div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>  <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.5 to Q7.0</span></div><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_48_over_17 = vdup_n_s8(0x5A >> (5 - fixed_point_position)); <span class="comment">// 2.823</span></div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_32_over_17 = vdup_n_s8((0x3C >> (5 - fixed_point_position))); <span class="comment">// 1.8823</span></div><div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1 << fixed_point_position);</div><div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_two = vdup_n_s8(2 << fixed_point_position);</div><div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> </div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>  <span class="comment">// Find shift value</span></div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vqneg_s8(vqsub_s8(vdup_n_s8(8), vqadd_s8(vclz_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vdup_n_s8(fixed_point_position))));</div><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> temp = vqshl_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, shift_value);</div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> </div><div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>  <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div><div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x = vqsub_s8(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, const_32_over_17, fixed_point_position));</div><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> </div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>  uint8x8_t set_one = vcgt_s8(x, const_one);</div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>  x = vbsl_s8(set_one, const_one, x);</div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> </div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>  <span class="comment">// Use three iterations of Newton-Raphson method to get the result</span></div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>  x = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, vqsub_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>  x = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, vqsub_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>  x = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(x, vqsub_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> </div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>  <span class="keywordflow">return</span> vqshl_s8(x, shift_value);</div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a746205173d1a1f3955fa0c26b5be3b10"><div class="ttname"><a href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">arm_compute::vqmul_qs8</a></div><div class="ttdeci">qint8x8_t vqmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00553">NEFixedPoint.inl:553</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
</div><!-- fragment -->
@@ -24357,7 +23709,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqrecipq_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -24384,34 +23736,8 @@
<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">arm_compute::test::fixed_point_arithmetic::detail::max()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00607">vqmulq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00474">vqsubq_qs16()</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01663">vlogq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01965">vqtanhq_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> {</div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>  <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.13 to Q15.0</span></div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_48_over_17 = vdupq_n_s16(0x5A56 >> (13 - fixed_point_position)); <span class="comment">// 2.823</span></div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_32_over_17 = vdupq_n_s16(0x3C3C >> (13 - fixed_point_position)); <span class="comment">// 1.8823</span></div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1 << fixed_point_position);</div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_two = vdupq_n_s16(2 << fixed_point_position);</div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> </div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>  <span class="comment">// Find shift value</span></div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vqnegq_s16(vqsubq_s16(vdupq_n_s16(16), vqaddq_s16(vclzq_s16(a), vdupq_n_s16(fixed_point_position))));</div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> temp = vqshlq_s16(a, shift_value);</div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> </div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>  <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x = <a class="code" href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">vqsubq_qs16</a>(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, const_32_over_17, fixed_point_position));</div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> </div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>  <span class="comment">// Set initial guess to one if x > 1</span></div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>  uint16x8_t set_one = vcgtq_s16(x, const_one);</div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>  x = vbslq_s16(set_one, const_one, x);</div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> </div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>  <span class="comment">// Use four iterations of Newton-Raphson method to get the result</span></div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>  x = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>  x = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>  x = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>  x = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> </div>
-<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>  <span class="comment">// Saturate result in case of overflow</span></div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>  <span class="keywordflow">return</span> vbslq_s16(vceqq_s16(a, vdupq_n_s16(0)), vdupq_n_s16(<a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::numeric_limits<int16_t>::max</a>()), vqshlq_s16(x, shift_value));</div>
-<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a9edb31327a1e06c730d5a09b14dcfeb9"><div class="ttname"><a href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">arm_compute::vqsubq_qs16</a></div><div class="ttdeci">qint16x8_t vqsubq_qs16(qint16x8_t a, qint16x8_t b)</div><div class="ttdoc">16 bit fixed point vector saturating subtraction (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00474">NEFixedPoint.inl:474</a></div></div>
+<div class="fragment"><div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> {</div><div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>  <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.13 to Q15.0</span></div><div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_48_over_17 = vdupq_n_s16(0x5A56 >> (13 - fixed_point_position)); <span class="comment">// 2.823</span></div><div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_32_over_17 = vdupq_n_s16(0x3C3C >> (13 - fixed_point_position)); <span class="comment">// 1.8823</span></div><div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1 << fixed_point_position);</div><div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_two = vdupq_n_s16(2 << fixed_point_position);</div><div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> </div><div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>  <span class="comment">// Find shift value</span></div><div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vqnegq_s16(vqsubq_s16(vdupq_n_s16(16), vqaddq_s16(vclzq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vdupq_n_s16(fixed_point_position))));</div><div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> temp = vqshlq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, shift_value);</div><div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> </div><div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>  <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div><div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x = <a class="code" href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">vqsubq_qs16</a>(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, const_32_over_17, fixed_point_position));</div><div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> </div><div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>  <span class="comment">// Set initial guess to one if x > 1</span></div><div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>  uint16x8_t set_one = vcgtq_s16(x, const_one);</div><div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>  x = vbslq_s16(set_one, const_one, x);</div><div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> </div><div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>  <span class="comment">// Use four iterations of Newton-Raphson method to get the result</span></div><div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>  x = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>  x = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>  x = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>  x = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(x, vqsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> </div><div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>  <span class="comment">// Saturate result in case of overflow</span></div><div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>  <span class="keywordflow">return</span> vbslq_s16(vceqq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, vdupq_n_s16(0)), vdupq_n_s16(<a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">std::numeric_limits<int16_t>::max</a>()), vqshlq_s16(x, shift_value));</div><div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a9edb31327a1e06c730d5a09b14dcfeb9"><div class="ttname"><a href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">arm_compute::vqsubq_qs16</a></div><div class="ttdeci">qint16x8_t vqsubq_qs16(qint16x8_t a, qint16x8_t b)</div><div class="ttdoc">16 bit fixed point vector saturating subtraction (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00474">NEFixedPoint.inl:474</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a982d792d366430a954d96e8575d3c313"><div class="ttname"><a href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">arm_compute::vqmulq_qs16</a></div><div class="ttdeci">qint16x8_t vqmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00607">NEFixedPoint.inl:607</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_ad91bb73431b4de1f4946ed949d444849"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#ad91bb73431b4de1f4946ed949d444849">arm_compute::test::fixed_point_arithmetic::detail::max</a></div><div class="ttdeci">fixed_point< T > max(fixed_point< T > x, fixed_point< T > y)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00889">FixedPoint.h:889</a></div></div>
@@ -24428,7 +23754,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqrecipq_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -24455,31 +23781,7 @@
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00587">vqmulq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00469">vqsubq_qs8()</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01952">vqtanhq_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> {</div>
-<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>  <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.5 to Q7.0</span></div>
-<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_48_over_17 = vdupq_n_s8(0x5A >> (5 - fixed_point_position)); <span class="comment">// 2.823</span></div>
-<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_32_over_17 = vdupq_n_s8((0x3C >> (5 - fixed_point_position))); <span class="comment">// -1.8823</span></div>
-<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1 << fixed_point_position);</div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_two = vdupq_n_s8(2 << fixed_point_position);</div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> </div>
-<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>  <span class="comment">// Find shift value</span></div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vqnegq_s8(vqsubq_s8(vdupq_n_s8(8), vqaddq_s8(vclzq_s8(a), vdupq_n_s8(fixed_point_position))));</div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> temp = vqshlq_s8(a, shift_value);</div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> </div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>  <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x = <a class="code" href="namespacearm__compute.xhtml#ab2a6ce3d8239e49c81af1ebc617680b4">vqsubq_qs8</a>(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, const_32_over_17, fixed_point_position));</div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> </div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>  <span class="comment">// Set initial guess to one if x > 1</span></div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>  uint8x16_t set_one = vcgtq_s8(x, const_one);</div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>  x = vbslq_s8(set_one, const_one, x);</div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> </div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>  <span class="comment">// Use three iterations of Newton-Raphson method to get the result</span></div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>  x = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, vqsubq_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>  x = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, vqsubq_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>  x = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, vqsubq_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> </div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>  <span class="keywordflow">return</span> vqshlq_s8(x, shift_value);</div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> }</div>
+<div class="fragment"><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> {</div><div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>  <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.5 to Q7.0</span></div><div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_48_over_17 = vdupq_n_s8(0x5A >> (5 - fixed_point_position)); <span class="comment">// 2.823</span></div><div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_32_over_17 = vdupq_n_s8((0x3C >> (5 - fixed_point_position))); <span class="comment">// -1.8823</span></div><div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1 << fixed_point_position);</div><div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_two = vdupq_n_s8(2 << fixed_point_position);</div><div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> </div><div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>  <span class="comment">// Find shift value</span></div><div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vqnegq_s8(vqsubq_s8(vdupq_n_s8(8), vqaddq_s8(vclzq_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vdupq_n_s8(fixed_point_position))));</div><div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> temp = vqshlq_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, shift_value);</div><div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> </div><div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>  <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div><div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x = <a class="code" href="namespacearm__compute.xhtml#ab2a6ce3d8239e49c81af1ebc617680b4">vqsubq_qs8</a>(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, const_32_over_17, fixed_point_position));</div><div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> </div><div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>  <span class="comment">// Set initial guess to one if x > 1</span></div><div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>  uint8x16_t set_one = vcgtq_s8(x, const_one);</div><div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>  x = vbslq_s8(set_one, const_one, x);</div><div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> </div><div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>  <span class="comment">// Use three iterations of Newton-Raphson method to get the result</span></div><div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>  x = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, vqsubq_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>  x = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, vqsubq_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>  x = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(x, vqsubq_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> </div><div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>  <span class="keywordflow">return</span> vqshlq_s8(x, shift_value);</div><div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a081c0605c83155125ad95a144a1d6071"><div class="ttname"><a href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">arm_compute::vqmulq_qs8</a></div><div class="ttdeci">qint8x16_t vqmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00587">NEFixedPoint.inl:587</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ab2a6ce3d8239e49c81af1ebc617680b4"><div class="ttname"><a href="namespacearm__compute.xhtml#ab2a6ce3d8239e49c81af1ebc617680b4">arm_compute::vqsubq_qs8</a></div><div class="ttdeci">qint8x16_t vqsubq_qs8(qint8x16_t a, qint8x16_t b)</div><div class="ttdoc">8 bit fixed point vector saturating subtraction (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00469">NEFixedPoint.inl:469</a></div></div>
@@ -24496,13 +23798,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqsub_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -24531,9 +23833,8 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00464">464</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01939">vqtanh_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00465"></a><span class="lineno"> 465</span> {</div>
-<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  <span class="keywordflow">return</span> vqsub_s16(a, b);</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> }</div>
+<div class="fragment"><div class="line"><a name="l00465"></a><span class="lineno"> 465</span> {</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  <span class="keywordflow">return</span> vqsub_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -24547,13 +23848,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vqsub_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -24582,9 +23883,8 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00459">459</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01926">vqtanh_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00460"></a><span class="lineno"> 460</span> {</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <span class="keywordflow">return</span> vqsub_s8(a, b);</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> }</div>
+<div class="fragment"><div class="line"><a name="l00460"></a><span class="lineno"> 460</span> {</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <span class="keywordflow">return</span> vqsub_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -24598,13 +23898,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqsubq_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -24633,9 +23933,8 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00474">474</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01520">vqexpq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01265">vqrecipq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01965">vqtanhq_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00475"></a><span class="lineno"> 475</span> {</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <span class="keywordflow">return</span> vqsubq_s16(a, b);</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> }</div>
+<div class="fragment"><div class="line"><a name="l00475"></a><span class="lineno"> 475</span> {</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <span class="keywordflow">return</span> vqsubq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -24649,13 +23948,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqsubq_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -24684,9 +23983,8 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00469">469</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01494">vqexpq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01238">vqrecipq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01952">vqtanhq_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00470"></a><span class="lineno"> 470</span> {</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <span class="keywordflow">return</span> vqsubq_s8(a, b);</div>
-<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> }</div>
+<div class="fragment"><div class="line"><a name="l00470"></a><span class="lineno"> 470</span> {</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <span class="keywordflow">return</span> vqsubq_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -24700,7 +23998,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vqtanh_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -24735,18 +24033,8 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01939">1939</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">arm_compute::test::fixed_point_arithmetic::detail::tanh()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00409">vqadd_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01468">vqexp_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00570">vqmul_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01156">vqrecip_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00464">vqsub_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01940"></a><span class="lineno"> 1940</span> {</div>
-<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1 << fixed_point_position);</div>
-<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_two = vdup_n_s16(2 << fixed_point_position);</div>
-<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span> </div>
-<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> exp2x = <a class="code" href="namespacearm__compute.xhtml#aa3c9489e850081532442f4da59515852">vqexp_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(const_two, a, fixed_point_position), fixed_point_position);</div>
-<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> num = <a class="code" href="namespacearm__compute.xhtml#a73a131b9775ce771a1a25607a83b0ca9">vqsub_qs16</a>(exp2x, const_one);</div>
-<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> den = <a class="code" href="namespacearm__compute.xhtml#ad80ab0f6b783c10e0488cb84a8812e8f">vqadd_qs16</a>(exp2x, const_one);</div>
-<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a> = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(num, <a class="code" href="namespacearm__compute.xhtml#ada5b8019889d6b38b3cb64ccdd3731ca">vqrecip_qs16</a>(den, fixed_point_position), fixed_point_position);</div>
-<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span> </div>
-<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a>;</div>
-<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_aec34399f16d824f79571abe464556466"><div class="ttname"><a href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">arm_compute::vqmul_qs16</a></div><div class="ttdeci">qint16x4_t vqmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00570">NEFixedPoint.inl:570</a></div></div>
+<div class="fragment"><div class="line"><a name="l01940"></a><span class="lineno"> 1940</span> {</div><div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1 << fixed_point_position);</div><div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_two = vdup_n_s16(2 << fixed_point_position);</div><div class="line"><a name="l01943"></a><span class="lineno"> 1943</span> </div><div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> exp2x = <a class="code" href="namespacearm__compute.xhtml#aa3c9489e850081532442f4da59515852">vqexp_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(const_two, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, fixed_point_position), fixed_point_position);</div><div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> num = <a class="code" href="namespacearm__compute.xhtml#a73a131b9775ce771a1a25607a83b0ca9">vqsub_qs16</a>(exp2x, const_one);</div><div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> den = <a class="code" href="namespacearm__compute.xhtml#ad80ab0f6b783c10e0488cb84a8812e8f">vqadd_qs16</a>(exp2x, const_one);</div><div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a> = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(num, <a class="code" href="namespacearm__compute.xhtml#ada5b8019889d6b38b3cb64ccdd3731ca">vqrecip_qs16</a>(den, fixed_point_position), fixed_point_position);</div><div class="line"><a name="l01948"></a><span class="lineno"> 1948</span> </div><div class="line"><a name="l01949"></a><span class="lineno"> 1949</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a>;</div><div class="line"><a name="l01950"></a><span class="lineno"> 1950</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_aec34399f16d824f79571abe464556466"><div class="ttname"><a href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">arm_compute::vqmul_qs16</a></div><div class="ttdeci">qint16x4_t vqmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00570">NEFixedPoint.inl:570</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a73a131b9775ce771a1a25607a83b0ca9"><div class="ttname"><a href="namespacearm__compute.xhtml#a73a131b9775ce771a1a25607a83b0ca9">arm_compute::vqsub_qs16</a></div><div class="ttdeci">qint16x4_t vqsub_qs16(qint16x4_t a, qint16x4_t b)</div><div class="ttdoc">16 bit fixed point vector saturating subtraction (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00464">NEFixedPoint.inl:464</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ad80ab0f6b783c10e0488cb84a8812e8f"><div class="ttname"><a href="namespacearm__compute.xhtml#ad80ab0f6b783c10e0488cb84a8812e8f">arm_compute::vqadd_qs16</a></div><div class="ttdeci">qint16x4_t vqadd_qs16(qint16x4_t a, qint16x4_t b)</div><div class="ttdoc">16 bit fixed point vector saturating add (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00409">NEFixedPoint.inl:409</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_aa3c9489e850081532442f4da59515852"><div class="ttname"><a href="namespacearm__compute.xhtml#aa3c9489e850081532442f4da59515852">arm_compute::vqexp_qs16</a></div><div class="ttdeci">qint16x4_t vqexp_qs16(qint16x4_t a, int fixed_point_position)</div><div class="ttdoc">Calculate saturating exponential fixed point 16 bit (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01468">NEFixedPoint.inl:1468</a></div></div>
@@ -24766,7 +24054,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vqtanh_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -24801,17 +24089,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01926">1926</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">arm_compute::test::fixed_point_arithmetic::detail::tanh()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00404">vqadd_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01442">vqexp_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00553">vqmul_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01130">vqrecip_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00459">vqsub_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01927"></a><span class="lineno"> 1927</span> {</div>
-<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1 << fixed_point_position);</div>
-<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_two = vdup_n_s8(2 << fixed_point_position);</div>
-<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span> </div>
-<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> exp2x = <a class="code" href="namespacearm__compute.xhtml#a635b41196d74b1f2c4d9ee9298444796">vqexp_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(const_two, a, fixed_point_position), fixed_point_position);</div>
-<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> num = <a class="code" href="namespacearm__compute.xhtml#a5b1437029acce06690a938e09f5a762a">vqsub_qs8</a>(exp2x, const_one);</div>
-<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> den = <a class="code" href="namespacearm__compute.xhtml#a8a14fe5fc71105c9bfebb28a58f06a52">vqadd_qs8</a>(exp2x, const_one);</div>
-<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a> = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(num, <a class="code" href="namespacearm__compute.xhtml#a3e6537037711264ed5e8f33c8564c325">vqrecip_qs8</a>(den, fixed_point_position), fixed_point_position);</div>
-<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span> </div>
-<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a>;</div>
-<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span> }</div>
+<div class="fragment"><div class="line"><a name="l01927"></a><span class="lineno"> 1927</span> {</div><div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1 << fixed_point_position);</div><div class="line"><a name="l01929"></a><span class="lineno"> 1929</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_two = vdup_n_s8(2 << fixed_point_position);</div><div class="line"><a name="l01930"></a><span class="lineno"> 1930</span> </div><div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> exp2x = <a class="code" href="namespacearm__compute.xhtml#a635b41196d74b1f2c4d9ee9298444796">vqexp_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(const_two, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, fixed_point_position), fixed_point_position);</div><div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> num = <a class="code" href="namespacearm__compute.xhtml#a5b1437029acce06690a938e09f5a762a">vqsub_qs8</a>(exp2x, const_one);</div><div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> den = <a class="code" href="namespacearm__compute.xhtml#a8a14fe5fc71105c9bfebb28a58f06a52">vqadd_qs8</a>(exp2x, const_one);</div><div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a> = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(num, <a class="code" href="namespacearm__compute.xhtml#a3e6537037711264ed5e8f33c8564c325">vqrecip_qs8</a>(den, fixed_point_position), fixed_point_position);</div><div class="line"><a name="l01935"></a><span class="lineno"> 1935</span> </div><div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a>;</div><div class="line"><a name="l01937"></a><span class="lineno"> 1937</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5b1437029acce06690a938e09f5a762a"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b1437029acce06690a938e09f5a762a">arm_compute::vqsub_qs8</a></div><div class="ttdeci">qint8x8_t vqsub_qs8(qint8x8_t a, qint8x8_t b)</div><div class="ttdoc">8 bit fixed point vector saturating subtraction (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00459">NEFixedPoint.inl:459</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a746205173d1a1f3955fa0c26b5be3b10"><div class="ttname"><a href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">arm_compute::vqmul_qs8</a></div><div class="ttdeci">qint8x8_t vqmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00553">NEFixedPoint.inl:553</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a3e6537037711264ed5e8f33c8564c325"><div class="ttname"><a href="namespacearm__compute.xhtml#a3e6537037711264ed5e8f33c8564c325">arm_compute::vqrecip_qs8</a></div><div class="ttdeci">qint8x8_t vqrecip_qs8(qint8x8_t a, int fixed_point_position)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01130">NEFixedPoint.inl:1130</a></div></div>
@@ -24832,7 +24110,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vqtanhq_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -24867,18 +24145,8 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01965">1965</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">arm_compute::test::fixed_point_arithmetic::detail::tanh()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00424">vqaddq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01520">vqexpq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00607">vqmulq_qs16()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01265">vqrecipq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00474">vqsubq_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01966"></a><span class="lineno"> 1966</span> {</div>
-<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1 << fixed_point_position);</div>
-<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_two = vdupq_n_s16(2 << fixed_point_position);</div>
-<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span> </div>
-<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> exp2x = <a class="code" href="namespacearm__compute.xhtml#a5b5e085002cf5a69fb80e6991d0a4556">vqexpq_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(const_two, a, fixed_point_position), fixed_point_position);</div>
-<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> num = <a class="code" href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">vqsubq_qs16</a>(exp2x, const_one);</div>
-<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> den = <a class="code" href="namespacearm__compute.xhtml#a9d88750b393cdfe6f5685107bb1d98f7">vqaddq_qs16</a>(exp2x, const_one);</div>
-<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a> = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(num, <a class="code" href="namespacearm__compute.xhtml#a6a368d809128ff6bce989cda02c536d8">vqrecipq_qs16</a>(den, fixed_point_position), fixed_point_position);</div>
-<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span> </div>
-<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a>;</div>
-<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a9edb31327a1e06c730d5a09b14dcfeb9"><div class="ttname"><a href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">arm_compute::vqsubq_qs16</a></div><div class="ttdeci">qint16x8_t vqsubq_qs16(qint16x8_t a, qint16x8_t b)</div><div class="ttdoc">16 bit fixed point vector saturating subtraction (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00474">NEFixedPoint.inl:474</a></div></div>
+<div class="fragment"><div class="line"><a name="l01966"></a><span class="lineno"> 1966</span> {</div><div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1 << fixed_point_position);</div><div class="line"><a name="l01968"></a><span class="lineno"> 1968</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_two = vdupq_n_s16(2 << fixed_point_position);</div><div class="line"><a name="l01969"></a><span class="lineno"> 1969</span> </div><div class="line"><a name="l01970"></a><span class="lineno"> 1970</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> exp2x = <a class="code" href="namespacearm__compute.xhtml#a5b5e085002cf5a69fb80e6991d0a4556">vqexpq_qs16</a>(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(const_two, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, fixed_point_position), fixed_point_position);</div><div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> num = <a class="code" href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">vqsubq_qs16</a>(exp2x, const_one);</div><div class="line"><a name="l01972"></a><span class="lineno"> 1972</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> den = <a class="code" href="namespacearm__compute.xhtml#a9d88750b393cdfe6f5685107bb1d98f7">vqaddq_qs16</a>(exp2x, const_one);</div><div class="line"><a name="l01973"></a><span class="lineno"> 1973</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a> = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(num, <a class="code" href="namespacearm__compute.xhtml#a6a368d809128ff6bce989cda02c536d8">vqrecipq_qs16</a>(den, fixed_point_position), fixed_point_position);</div><div class="line"><a name="l01974"></a><span class="lineno"> 1974</span> </div><div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a>;</div><div class="line"><a name="l01976"></a><span class="lineno"> 1976</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a9edb31327a1e06c730d5a09b14dcfeb9"><div class="ttname"><a href="namespacearm__compute.xhtml#a9edb31327a1e06c730d5a09b14dcfeb9">arm_compute::vqsubq_qs16</a></div><div class="ttdeci">qint16x8_t vqsubq_qs16(qint16x8_t a, qint16x8_t b)</div><div class="ttdoc">16 bit fixed point vector saturating subtraction (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00474">NEFixedPoint.inl:474</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a982d792d366430a954d96e8575d3c313"><div class="ttname"><a href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">arm_compute::vqmulq_qs16</a></div><div class="ttdeci">qint16x8_t vqmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00607">NEFixedPoint.inl:607</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a6a368d809128ff6bce989cda02c536d8"><div class="ttname"><a href="namespacearm__compute.xhtml#a6a368d809128ff6bce989cda02c536d8">arm_compute::vqrecipq_qs16</a></div><div class="ttdeci">qint16x8_t vqrecipq_qs16(qint16x8_t a, int fixed_point_position)</div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01265">NEFixedPoint.inl:1265</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
@@ -24898,7 +24166,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vqtanhq_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -24933,17 +24201,7 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01952">1952</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">arm_compute::test::fixed_point_arithmetic::detail::tanh()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00419">vqaddq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01494">vqexpq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00587">vqmulq_qs8()</a>, <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01238">vqrecipq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00469">vqsubq_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01953"></a><span class="lineno"> 1953</span> {</div>
-<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1 << fixed_point_position);</div>
-<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_two = vdupq_n_s8(2 << fixed_point_position);</div>
-<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span> </div>
-<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> exp2x = <a class="code" href="namespacearm__compute.xhtml#ae6cf1822b8fbad305677650a2b751247">vqexpq_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(const_two, a, fixed_point_position), fixed_point_position);</div>
-<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> num = <a class="code" href="namespacearm__compute.xhtml#ab2a6ce3d8239e49c81af1ebc617680b4">vqsubq_qs8</a>(exp2x, const_one);</div>
-<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> den = <a class="code" href="namespacearm__compute.xhtml#a9765c5ee2d3cc9e3ca983fd2f47ba916">vqaddq_qs8</a>(exp2x, const_one);</div>
-<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a> = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(num, <a class="code" href="namespacearm__compute.xhtml#a3dd4382391c752128ab7b3a6dd68314b">vqrecipq_qs8</a>(den, fixed_point_position), fixed_point_position);</div>
-<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span> </div>
-<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a>;</div>
-<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span> }</div>
+<div class="fragment"><div class="line"><a name="l01953"></a><span class="lineno"> 1953</span> {</div><div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1 << fixed_point_position);</div><div class="line"><a name="l01955"></a><span class="lineno"> 1955</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_two = vdupq_n_s8(2 << fixed_point_position);</div><div class="line"><a name="l01956"></a><span class="lineno"> 1956</span> </div><div class="line"><a name="l01957"></a><span class="lineno"> 1957</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> exp2x = <a class="code" href="namespacearm__compute.xhtml#ae6cf1822b8fbad305677650a2b751247">vqexpq_qs8</a>(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(const_two, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, fixed_point_position), fixed_point_position);</div><div class="line"><a name="l01958"></a><span class="lineno"> 1958</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> num = <a class="code" href="namespacearm__compute.xhtml#ab2a6ce3d8239e49c81af1ebc617680b4">vqsubq_qs8</a>(exp2x, const_one);</div><div class="line"><a name="l01959"></a><span class="lineno"> 1959</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> den = <a class="code" href="namespacearm__compute.xhtml#a9765c5ee2d3cc9e3ca983fd2f47ba916">vqaddq_qs8</a>(exp2x, const_one);</div><div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a> = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(num, <a class="code" href="namespacearm__compute.xhtml#a3dd4382391c752128ab7b3a6dd68314b">vqrecipq_qs8</a>(den, fixed_point_position), fixed_point_position);</div><div class="line"><a name="l01961"></a><span class="lineno"> 1961</span> </div><div class="line"><a name="l01962"></a><span class="lineno"> 1962</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a>;</div><div class="line"><a name="l01963"></a><span class="lineno"> 1963</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a9765c5ee2d3cc9e3ca983fd2f47ba916"><div class="ttname"><a href="namespacearm__compute.xhtml#a9765c5ee2d3cc9e3ca983fd2f47ba916">arm_compute::vqaddq_qs8</a></div><div class="ttdeci">qint8x16_t vqaddq_qs8(qint8x16_t a, qint8x16_t b)</div><div class="ttdoc">8 bit fixed point vector saturating add (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00419">NEFixedPoint.inl:419</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ae6cf1822b8fbad305677650a2b751247"><div class="ttname"><a href="namespacearm__compute.xhtml#ae6cf1822b8fbad305677650a2b751247">arm_compute::vqexpq_qs8</a></div><div class="ttdeci">qint8x16_t vqexpq_qs8(qint8x16_t a, int fixed_point_position)</div><div class="ttdoc">Calculate saturating exponential fixed point 8bit (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l01494">NEFixedPoint.inl:1494</a></div></div>
@@ -24964,7 +24222,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> arm_compute::vqtaylor_poly_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -24989,21 +24247,9 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01363">1363</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00570">vqmul_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> {</div>
-<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vdup_n_s16(-(15 - fixed_point_position));</div>
-<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1);</div>
-<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vqrshl_s16(islog ? log_tab_qs16[0] : exp_tab_qs16[0], islog ? vqadd_s16(shift_value, const_one) : shift_value);</div>
-<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vqrshl_s16(islog ? log_tab_qs16[1] : exp_tab_qs16[1], shift_value);</div>
-<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> C = vqrshl_s16(islog ? log_tab_qs16[2] : exp_tab_qs16[2], shift_value);</div>
-<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> D = vqrshl_s16(islog ? log_tab_qs16[3] : exp_tab_qs16[3], shift_value);</div>
-<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x1 = vqadd_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(a, D, fixed_point_position), C);</div>
-<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x2 = vqadd_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(a, x1, fixed_point_position), B);</div>
-<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x3 = vqadd_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(a, x2, fixed_point_position), A);</div>
-<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> res = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(a, x3, fixed_point_position);</div>
-<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>  <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<div class="fragment"><div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> {</div><div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vdup_n_s16(-(15 - fixed_point_position));</div><div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1);</div><div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vqrshl_s16(islog ? log_tab_qs16[0] : exp_tab_qs16[0], islog ? vqadd_s16(shift_value, const_one) : shift_value);</div><div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vqrshl_s16(islog ? log_tab_qs16[1] : exp_tab_qs16[1], shift_value);</div><div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> C = vqrshl_s16(islog ? log_tab_qs16[2] : exp_tab_qs16[2], shift_value);</div><div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> D = vqrshl_s16(islog ? log_tab_qs16[3] : exp_tab_qs16[3], shift_value);</div><div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x1 = vqadd_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, D, fixed_point_position), C);</div><div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x2 = vqadd_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, x1, fixed_point_position), B);</div><div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x3 = vqadd_s16(<a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, x2, fixed_point_position), A);</div><div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> res = <a class="code" href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">vqmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, x3, fixed_point_position);</div><div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l01376"></a><span class="lineno"> 1376</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_aec34399f16d824f79571abe464556466"><div class="ttname"><a href="namespacearm__compute.xhtml#aec34399f16d824f79571abe464556466">arm_compute::vqmul_qs16</a></div><div class="ttdeci">qint16x4_t vqmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00570">NEFixedPoint.inl:570</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a></div><div class="ttdoc">Blue channel. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
</div><!-- fragment -->
@@ -25019,7 +24265,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> arm_compute::vqtaylor_poly_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -25044,20 +24290,8 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01347">1347</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00553">vqmul_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> {</div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vdup_n_s8(-(7 - fixed_point_position));</div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1);</div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vqrshl_s8(islog ? log_tab_qs8[0] : exp_tab_qs8[0], islog ? vqadd_s8(shift_value, const_one) : shift_value);</div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vqrshl_s8(islog ? log_tab_qs8[1] : exp_tab_qs8[1], shift_value);</div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> C = vqrshl_s8(islog ? log_tab_qs8[2] : exp_tab_qs8[2], shift_value);</div>
-<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> D = vqrshl_s8(islog ? log_tab_qs8[3] : exp_tab_qs8[3], shift_value);</div>
-<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x1 = vqadd_s8(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(a, D, fixed_point_position), C);</div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x2 = vqadd_s8(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(a, x1, fixed_point_position), B);</div>
-<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x3 = vqadd_s8(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(a, x2, fixed_point_position), A);</div>
-<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> res = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(a, x3, fixed_point_position);</div>
-<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>  <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<div class="fragment"><div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> {</div><div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vdup_n_s8(-(7 - fixed_point_position));</div><div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1);</div><div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vqrshl_s8(islog ? log_tab_qs8[0] : exp_tab_qs8[0], islog ? vqadd_s8(shift_value, const_one) : shift_value);</div><div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vqrshl_s8(islog ? log_tab_qs8[1] : exp_tab_qs8[1], shift_value);</div><div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> C = vqrshl_s8(islog ? log_tab_qs8[2] : exp_tab_qs8[2], shift_value);</div><div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> D = vqrshl_s8(islog ? log_tab_qs8[3] : exp_tab_qs8[3], shift_value);</div><div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x1 = vqadd_s8(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, D, fixed_point_position), C);</div><div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x2 = vqadd_s8(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, x1, fixed_point_position), B);</div><div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x3 = vqadd_s8(<a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, x2, fixed_point_position), A);</div><div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> res = <a class="code" href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">vqmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, x3, fixed_point_position);</div><div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a></div><div class="ttdoc">Blue channel. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a746205173d1a1f3955fa0c26b5be3b10"><div class="ttname"><a href="namespacearm__compute.xhtml#a746205173d1a1f3955fa0c26b5be3b10">arm_compute::vqmul_qs8</a></div><div class="ttdeci">qint8x8_t vqmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00553">NEFixedPoint.inl:553</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
@@ -25074,7 +24308,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> arm_compute::vqtaylor_polyq_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -25099,20 +24333,8 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01427">1427</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00607">vqmulq_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> {</div>
-<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vdupq_n_s16(-(15 - fixed_point_position));</div>
-<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1);</div>
-<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vqrshlq_s16(islog ? log_tabq_qs16[0] : exp_tabq_qs16[0], islog ? vqaddq_s16(shift_value, const_one) : shift_value);</div>
-<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vqrshlq_s16(islog ? log_tabq_qs16[1] : exp_tabq_qs16[1], shift_value);</div>
-<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> C = vqrshlq_s16(islog ? log_tabq_qs16[2] : exp_tabq_qs16[2], shift_value);</div>
-<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> D = vqrshlq_s16(islog ? log_tabq_qs16[3] : exp_tabq_qs16[3], shift_value);</div>
-<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x1 = vqaddq_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(a, D, fixed_point_position), C);</div>
-<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x2 = vqaddq_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(a, x1, fixed_point_position), B);</div>
-<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x3 = vqaddq_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(a, x2, fixed_point_position), A);</div>
-<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(a, x3, fixed_point_position);</div>
-<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>  <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<div class="fragment"><div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> {</div><div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vdupq_n_s16(-(15 - fixed_point_position));</div><div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1);</div><div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vqrshlq_s16(islog ? log_tabq_qs16[0] : exp_tabq_qs16[0], islog ? vqaddq_s16(shift_value, const_one) : shift_value);</div><div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vqrshlq_s16(islog ? log_tabq_qs16[1] : exp_tabq_qs16[1], shift_value);</div><div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> C = vqrshlq_s16(islog ? log_tabq_qs16[2] : exp_tabq_qs16[2], shift_value);</div><div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> D = vqrshlq_s16(islog ? log_tabq_qs16[3] : exp_tabq_qs16[3], shift_value);</div><div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x1 = vqaddq_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, D, fixed_point_position), C);</div><div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x2 = vqaddq_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, x1, fixed_point_position), B);</div><div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x3 = vqaddq_s16(<a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, x2, fixed_point_position), A);</div><div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res = <a class="code" href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">vqmulq_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, x3, fixed_point_position);</div><div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l01440"></a><span class="lineno"> 1440</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a></div><div class="ttdoc">Blue channel. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a982d792d366430a954d96e8575d3c313"><div class="ttname"><a href="namespacearm__compute.xhtml#a982d792d366430a954d96e8575d3c313">arm_compute::vqmulq_qs16</a></div><div class="ttdeci">qint16x8_t vqmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector saturating multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00607">NEFixedPoint.inl:607</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
@@ -25129,7 +24351,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> arm_compute::vqtaylor_polyq_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -25154,20 +24376,8 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01411">1411</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00587">vqmulq_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> {</div>
-<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vdupq_n_s8(-(7 - fixed_point_position));</div>
-<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1);</div>
-<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vqrshlq_s8(islog ? log_tabq_qs8[0] : exp_tabq_qs8[0], islog ? vqaddq_s8(shift_value, const_one) : shift_value);</div>
-<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vqrshlq_s8(islog ? log_tabq_qs8[1] : exp_tabq_qs8[1], shift_value);</div>
-<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> C = vqrshlq_s8(islog ? log_tabq_qs8[2] : exp_tabq_qs8[2], shift_value);</div>
-<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> D = vqrshlq_s8(islog ? log_tabq_qs8[3] : exp_tabq_qs8[3], shift_value);</div>
-<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x1 = vqaddq_s8(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(a, D, fixed_point_position), C);</div>
-<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x2 = vqaddq_s8(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(a, x1, fixed_point_position), B);</div>
-<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x3 = vqaddq_s8(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(a, x2, fixed_point_position), A);</div>
-<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> res = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(a, x3, fixed_point_position);</div>
-<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>  <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<div class="fragment"><div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> {</div><div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vdupq_n_s8(-(7 - fixed_point_position));</div><div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1);</div><div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vqrshlq_s8(islog ? log_tabq_qs8[0] : exp_tabq_qs8[0], islog ? vqaddq_s8(shift_value, const_one) : shift_value);</div><div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vqrshlq_s8(islog ? log_tabq_qs8[1] : exp_tabq_qs8[1], shift_value);</div><div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> C = vqrshlq_s8(islog ? log_tabq_qs8[2] : exp_tabq_qs8[2], shift_value);</div><div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> D = vqrshlq_s8(islog ? log_tabq_qs8[3] : exp_tabq_qs8[3], shift_value);</div><div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x1 = vqaddq_s8(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, D, fixed_point_position), C);</div><div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x2 = vqaddq_s8(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, x1, fixed_point_position), B);</div><div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x3 = vqaddq_s8(<a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, x2, fixed_point_position), A);</div><div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> res = <a class="code" href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">vqmulq_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, x3, fixed_point_position);</div><div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a></div><div class="ttdoc">Blue channel. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a081c0605c83155125ad95a144a1d6071"><div class="ttname"><a href="namespacearm__compute.xhtml#a081c0605c83155125ad95a144a1d6071">arm_compute::vqmulq_qs8</a></div><div class="ttdeci">qint8x16_t vqmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector saturating multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00587">NEFixedPoint.inl:587</a></div></div>
@@ -25184,7 +24394,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vrecip_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -25222,31 +24432,7 @@
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00496">vmul_qs16()</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01299">vdiv_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01585">vlog_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> {</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>  <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.13 to Q15.0</span></div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_48_over_17 = vdup_n_s16(0x5A5A >> (13 - fixed_point_position)); <span class="comment">// 2.823</span></div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_32_over_17 = vdup_n_s16(0x3C3C >> (13 - fixed_point_position)); <span class="comment">// 1.8823</span></div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1 << fixed_point_position);</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_two = vdup_n_s16(2 << fixed_point_position);</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> </div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>  <span class="comment">// Find shift value</span></div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vneg_s16(vsub_s16(vdup_n_s16(8), vadd_s16(vclz_s16(a), vdup_n_s16(fixed_point_position))));</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> temp = vshl_s16(a, shift_value);</div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> </div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>  <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x = vsub_s16(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, const_32_over_17, fixed_point_position));</div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> </div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>  uint16x4_t set_one = vcgt_s16(x, const_one);</div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>  x = vbsl_s16(set_one, const_one, x);</div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> </div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>  <span class="comment">// Use four iterations of Newton-Raphson method to get the result</span></div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>  x = <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>  x = <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>  x = <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>  x = <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> </div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>  <span class="keywordflow">return</span> vshl_s16(x, shift_value);</div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> }</div>
+<div class="fragment"><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> {</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>  <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.13 to Q15.0</span></div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_48_over_17 = vdup_n_s16(0x5A5A >> (13 - fixed_point_position)); <span class="comment">// 2.823</span></div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_32_over_17 = vdup_n_s16(0x3C3C >> (13 - fixed_point_position)); <span class="comment">// 1.8823</span></div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1 << fixed_point_position);</div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_two = vdup_n_s16(2 << fixed_point_position);</div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> </div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>  <span class="comment">// Find shift value</span></div><div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vneg_s16(vsub_s16(vdup_n_s16(8), vadd_s16(vclz_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vdup_n_s16(fixed_point_position))));</div><div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> temp = vshl_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, shift_value);</div><div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> </div><div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>  <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div><div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>  <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x = vsub_s16(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, const_32_over_17, fixed_point_position));</div><div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> </div><div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>  uint16x4_t set_one = vcgt_s16(x, const_one);</div><div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>  x = vbsl_s16(set_one, const_one, x);</div><div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> </div><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>  <span class="comment">// Use four iterations of Newton-Raphson method to get the result</span></div><div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>  x = <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>  x = <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>  x = <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>  x = <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(x, vsub_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> </div><div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>  <span class="keywordflow">return</span> vshl_s16(x, shift_value);</div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ac1b67e3283a1cae4d57b7f64137f5f5c"><div class="ttname"><a href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">arm_compute::vmul_qs16</a></div><div class="ttdeci">qint16x4_t vmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00496">NEFixedPoint.inl:496</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
</div><!-- fragment -->
@@ -25262,7 +24448,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vrecip_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -25300,30 +24486,7 @@
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00479">vmul_qs8()</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01294">vdiv_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01546">vlog_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> {</div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>  <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.5 to Q7.0</span></div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_48_over_17 = vdup_n_s8(0x5A >> (5 - fixed_point_position)); <span class="comment">// 2.823</span></div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_32_over_17 = vdup_n_s8((0x3C >> (5 - fixed_point_position))); <span class="comment">// 1.8823</span></div>
-<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1 << fixed_point_position);</div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_two = vdup_n_s8(2 << fixed_point_position);</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> </div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>  <span class="comment">// Find shift value</span></div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vneg_s8(vsub_s8(vdup_n_s8(8), vadd_s8(vclz_s8(a), vdup_n_s8(fixed_point_position))));</div>
-<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> temp = vshl_s8(a, shift_value);</div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> </div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>  <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x = vsub_s8(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, const_32_over_17, fixed_point_position));</div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> </div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>  uint8x8_t set_one = vcgt_s8(x, const_one);</div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>  x = vbsl_s8(set_one, const_one, x);</div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> </div>
-<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>  <span class="comment">// Use three iterations of Newton-Raphson method to get the result</span></div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>  x = <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, vsub_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>  x = <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, vsub_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>  x = <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, vsub_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> </div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>  <span class="keywordflow">return</span> vshl_s8(x, shift_value);</div>
-<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> }</div>
+<div class="fragment"><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> {</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>  <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.5 to Q7.0</span></div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_48_over_17 = vdup_n_s8(0x5A >> (5 - fixed_point_position)); <span class="comment">// 2.823</span></div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_32_over_17 = vdup_n_s8((0x3C >> (5 - fixed_point_position))); <span class="comment">// 1.8823</span></div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1 << fixed_point_position);</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_two = vdup_n_s8(2 << fixed_point_position);</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> </div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>  <span class="comment">// Find shift value</span></div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vneg_s8(vsub_s8(vdup_n_s8(8), vadd_s8(vclz_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vdup_n_s8(fixed_point_position))));</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> temp = vshl_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, shift_value);</div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> </div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>  <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>  <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x = vsub_s8(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, const_32_over_17, fixed_point_position));</div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> </div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>  uint8x8_t set_one = vcgt_s8(x, const_one);</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>  x = vbsl_s8(set_one, const_one, x);</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> </div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>  <span class="comment">// Use three iterations of Newton-Raphson method to get the result</span></div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>  x = <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, vsub_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>  x = <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, vsub_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>  x = <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(x, vsub_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> </div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>  <span class="keywordflow">return</span> vshl_s8(x, shift_value);</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_afccf1305c480f2338af8925bba6b54cd"><div class="ttname"><a href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">arm_compute::vmul_qs8</a></div><div class="ttdeci">qint8x8_t vmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00479">NEFixedPoint.inl:479</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
</div><!-- fragment -->
@@ -25339,7 +24502,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vrecipq_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -25377,33 +24540,8 @@
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00533">vmulq_qs16()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00454">vsubq_qs16()</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01309">vdivq_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> {</div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>  <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.13 to Q15.0</span></div>
-<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_48_over_17 = vdupq_n_s16(0x5A56 >> (13 - fixed_point_position)); <span class="comment">// 2.823</span></div>
-<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_32_over_17 = vdupq_n_s16(0x3C3C >> (13 - fixed_point_position)); <span class="comment">// 1.8823</span></div>
-<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1 << fixed_point_position);</div>
-<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_two = vdupq_n_s16(2 << fixed_point_position);</div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> </div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>  <span class="comment">// Find shift value</span></div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vnegq_s16(vsubq_s16(vdupq_n_s16(16), vaddq_s16(vclzq_s16(a), vdupq_n_s16(fixed_point_position))));</div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> temp = vshlq_s16(a, shift_value);</div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> </div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>  <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x = <a class="code" href="namespacearm__compute.xhtml#a43569be4a403f390486148701b424e8a">vsubq_qs16</a>(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, const_32_over_17, fixed_point_position));</div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> </div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>  <span class="comment">// Set initial guess to one if x > 1</span></div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>  uint16x8_t set_one = vcgtq_s16(x, const_one);</div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>  x = vbslq_s16(set_one, const_one, x);</div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> </div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>  <span class="comment">// Use four iterations of Newton-Raphson method to get the result</span></div>
-<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>  x = <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>  x = <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>  x = <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>  x = <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> </div>
-<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>  <span class="keywordflow">return</span> vshlq_s16(x, shift_value);</div>
-<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a43569be4a403f390486148701b424e8a"><div class="ttname"><a href="namespacearm__compute.xhtml#a43569be4a403f390486148701b424e8a">arm_compute::vsubq_qs16</a></div><div class="ttdeci">qint16x8_t vsubq_qs16(qint16x8_t a, qint16x8_t b)</div><div class="ttdoc">16 bit fixed point vector subtraction (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00454">NEFixedPoint.inl:454</a></div></div>
+<div class="fragment"><div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> {</div><div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>  <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.13 to Q15.0</span></div><div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_48_over_17 = vdupq_n_s16(0x5A56 >> (13 - fixed_point_position)); <span class="comment">// 2.823</span></div><div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_32_over_17 = vdupq_n_s16(0x3C3C >> (13 - fixed_point_position)); <span class="comment">// 1.8823</span></div><div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1 << fixed_point_position);</div><div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_two = vdupq_n_s16(2 << fixed_point_position);</div><div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> </div><div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>  <span class="comment">// Find shift value</span></div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vnegq_s16(vsubq_s16(vdupq_n_s16(16), vaddq_s16(vclzq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vdupq_n_s16(fixed_point_position))));</div><div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> temp = vshlq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, shift_value);</div><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> </div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>  <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>  <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x = <a class="code" href="namespacearm__compute.xhtml#a43569be4a403f390486148701b424e8a">vsubq_qs16</a>(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, const_32_over_17, fixed_point_position));</div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> </div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>  <span class="comment">// Set initial guess to one if x > 1</span></div><div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>  uint16x8_t set_one = vcgtq_s16(x, const_one);</div><div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>  x = vbslq_s16(set_one, const_one, x);</div><div class="line"><a name="l01228"></a><span class="lineno"> 1228</span> </div><div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>  <span class="comment">// Use four iterations of Newton-Raphson method to get the result</span></div><div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>  x = <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>  x = <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>  x = <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>  x = <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(x, vsubq_s16(const_two, <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> </div><div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>  <span class="keywordflow">return</span> vshlq_s16(x, shift_value);</div><div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a43569be4a403f390486148701b424e8a"><div class="ttname"><a href="namespacearm__compute.xhtml#a43569be4a403f390486148701b424e8a">arm_compute::vsubq_qs16</a></div><div class="ttdeci">qint16x8_t vsubq_qs16(qint16x8_t a, qint16x8_t b)</div><div class="ttdoc">16 bit fixed point vector subtraction (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00454">NEFixedPoint.inl:454</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a74ea79cda0ff6a819b2e5176fe0fc622"><div class="ttname"><a href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">arm_compute::vmulq_qs16</a></div><div class="ttdeci">qint16x8_t vmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00533">NEFixedPoint.inl:533</a></div></div>
</div><!-- fragment -->
@@ -25419,7 +24557,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vrecipq_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -25457,31 +24595,7 @@
<p>References <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00513">vmulq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00449">vsubq_qs8()</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01304">vdivq_qs8()</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01624">vlogq_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> {</div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>  <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.5 to Q7.0</span></div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_48_over_17 = vdupq_n_s8(0x5A >> (5 - fixed_point_position)); <span class="comment">// 2.823</span></div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_32_over_17 = vdupq_n_s8((0x3C >> (5 - fixed_point_position))); <span class="comment">// -1.8823</span></div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1 << fixed_point_position);</div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_two = vdupq_n_s8(2 << fixed_point_position);</div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> </div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>  <span class="comment">// Find shift value</span></div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vnegq_s8(vsubq_s8(vdupq_n_s8(8), vaddq_s8(vclzq_s8(a), vdupq_n_s8(fixed_point_position))));</div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> temp = vshlq_s8(a, shift_value);</div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> </div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>  <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x = <a class="code" href="namespacearm__compute.xhtml#a1adda6690cbca8a996255e311e4762d4">vsubq_qs8</a>(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, const_32_over_17, fixed_point_position));</div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> </div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>  <span class="comment">// Set initial guess to one if x > 1</span></div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>  uint8x16_t set_one = vcgtq_s8(x, const_one);</div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>  x = vbslq_s8(set_one, const_one, x);</div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> </div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>  <span class="comment">// Use three iterations of Newton-Raphson method to get the result</span></div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>  x = <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, vsubq_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>  x = <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, vsubq_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>  x = <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, vsubq_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> </div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>  <span class="keywordflow">return</span> vshlq_s8(x, shift_value);</div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> }</div>
+<div class="fragment"><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> {</div><div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>  <span class="comment">// We need two bits to store 2, thus we can only support formats from Q2.5 to Q7.0</span></div><div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_48_over_17 = vdupq_n_s8(0x5A >> (5 - fixed_point_position)); <span class="comment">// 2.823</span></div><div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_32_over_17 = vdupq_n_s8((0x3C >> (5 - fixed_point_position))); <span class="comment">// -1.8823</span></div><div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1 << fixed_point_position);</div><div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_two = vdupq_n_s8(2 << fixed_point_position);</div><div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> </div><div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>  <span class="comment">// Find shift value</span></div><div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vnegq_s8(vsubq_s8(vdupq_n_s8(8), vaddq_s8(vclzq_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>), vdupq_n_s8(fixed_point_position))));</div><div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> temp = vshlq_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, shift_value);</div><div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> </div><div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>  <span class="comment">// Newton-Raphson division initial estimate X0 calculation</span></div><div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>  <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x = <a class="code" href="namespacearm__compute.xhtml#a1adda6690cbca8a996255e311e4762d4">vsubq_qs8</a>(const_48_over_17, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, const_32_over_17, fixed_point_position));</div><div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> </div><div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>  <span class="comment">// Set initial guess to one if x > 1</span></div><div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>  uint8x16_t set_one = vcgtq_s8(x, const_one);</div><div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>  x = vbslq_s8(set_one, const_one, x);</div><div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> </div><div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>  <span class="comment">// Use three iterations of Newton-Raphson method to get the result</span></div><div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>  x = <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, vsubq_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>  x = <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, vsubq_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>  x = <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(x, vsubq_s8(const_two, <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(temp, x, fixed_point_position)), fixed_point_position);</div><div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> </div><div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>  <span class="keywordflow">return</span> vshlq_s8(x, shift_value);</div><div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a031b17d4102856aa4d6bf7ebf83bf0ab"><div class="ttname"><a href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">arm_compute::vmulq_qs8</a></div><div class="ttdeci">qint8x16_t vmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00513">NEFixedPoint.inl:513</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1adda6690cbca8a996255e311e4762d4"><div class="ttname"><a href="namespacearm__compute.xhtml#a1adda6690cbca8a996255e311e4762d4">arm_compute::vsubq_qs8</a></div><div class="ttdeci">qint8x16_t vsubq_qs8(qint8x16_t a, qint8x16_t b)</div><div class="ttdoc">8 bit fixed point vector subtraction (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00449">NEFixedPoint.inl:449</a></div></div>
@@ -25498,13 +24612,13 @@
<tr>
<td class="memname">void vst1_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16_t * </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> * </td>
<td class="paramname"><em>addr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -25523,16 +24637,16 @@
<p>Store a single 16 bit fixed point vector to memory (4 elements) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address where the 16 bit fixed point vector should be stored </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address where the 16 bit fixed point vector should be stored </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>16 bit fixed point vector to store </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00203">203</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> {</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  vst1_s16(addr, b);</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> }</div>
+
+<p>Referenced by <a class="el" href="_n_e_direct_convolution_detail_8h_source.xhtml#l00313">arm_compute::detail::store_results< 3 >()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> {</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  vst1_s16(addr, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -25546,13 +24660,13 @@
<tr>
<td class="memname">void vst1_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8_t * </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> * </td>
<td class="paramname"><em>addr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -25571,16 +24685,14 @@
<p>Store a single 8 bit fixed point vector to memory (8 elements) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address where the 8 bit fixed point vector should be stored </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address where the 8 bit fixed point vector should be stored </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>8 bit fixed point vector to store </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00198">198</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00199"></a><span class="lineno"> 199</span> {</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  vst1_s8(addr, b);</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> }</div>
+<div class="fragment"><div class="line"><a name="l00199"></a><span class="lineno"> 199</span> {</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  vst1_s8(addr, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -25594,13 +24706,13 @@
<tr>
<td class="memname">void vst1q_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16_t * </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> * </td>
<td class="paramname"><em>addr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -25619,16 +24731,16 @@
<p>Store a single 16 bit fixed point vector to memory (8 elements) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address where the 16 bit fixed point vector should be stored </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address where the 16 bit fixed point vector should be stored </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>16 bit fixed point vector to store </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00213">213</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> {</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  vst1q_s16(addr, b);</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> }</div>
+
+<p>Referenced by <a class="el" href="_n_e_direct_convolution_detail_8h_source.xhtml#l00300">arm_compute::detail::store_results< 1 >()</a>, and <a class="el" href="_n_e_direct_convolution_detail_8h_source.xhtml#l00307">arm_compute::detail::store_results< 2 >()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  vst1q_s16(addr, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -25642,13 +24754,13 @@
<tr>
<td class="memname">void vst1q_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8_t * </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4c3f681c30c9398c45bc3cd5dc4f038a">qint8_t</a> * </td>
<td class="paramname"><em>addr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -25667,16 +24779,14 @@
<p>Store a single 8 bit fixed point vector to memory (16 elements) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address where the 8 bit fixed point vector should be stored </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address where the 8 bit fixed point vector should be stored </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>8 bit fixed point vector to store </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00208">208</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> {</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  vst1q_s8(addr, b);</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> }</div>
+<div class="fragment"><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> {</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  vst1q_s8(addr, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -25690,13 +24800,13 @@
<tr>
<td class="memname">void vst2q_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16_t * </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a1521eea74b97de8f2df9304e44179400">qint16_t</a> * </td>
<td class="paramname"><em>addr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x8x2_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a3c4099e91913f28017e1f57b8e5cbf9f">qint16x8x2_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -25715,16 +24825,14 @@
<p>Store two 16 bit fixed point vector to memory (8x2 elements) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>Memory address where the 16 bit fixed point vectors should be stored </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td><a class="el" href="classarm__compute_1_1_memory.xhtml" title="CPU implementation of memory object. ">Memory</a> address where the 16 bit fixed point vectors should be stored </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>16 bit fixed point vectors to store </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00218">218</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> {</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  vst2q_s16(addr, b);</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> }</div>
+<div class="fragment"><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> {</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  vst2q_s16(addr, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -25738,13 +24846,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vsub_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -25771,9 +24879,8 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 16 bit fixed point vector subtraction </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00444">444</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00445"></a><span class="lineno"> 445</span> {</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <span class="keywordflow">return</span> vsub_s16(a, b);</div>
-<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> }</div>
+<div class="fragment"><div class="line"><a name="l00445"></a><span class="lineno"> 445</span> {</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <span class="keywordflow">return</span> vsub_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -25787,13 +24894,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vsub_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -25820,9 +24927,8 @@
<dl class="section return"><dt>Returns</dt><dd>The result of the 8 bit fixed point vector subtraction </dd></dl>
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00439">439</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
-<div class="fragment"><div class="line"><a name="l00440"></a><span class="lineno"> 440</span> {</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <span class="keywordflow">return</span> vsub_s8(a, b);</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> }</div>
+<div class="fragment"><div class="line"><a name="l00440"></a><span class="lineno"> 440</span> {</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <span class="keywordflow">return</span> vsub_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -25836,13 +24942,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vsubq_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -25871,9 +24977,8 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00454">454</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01210">vrecipq_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00455"></a><span class="lineno"> 455</span> {</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  <span class="keywordflow">return</span> vsubq_s16(a, b);</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> }</div>
+<div class="fragment"><div class="line"><a name="l00455"></a><span class="lineno"> 455</span> {</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  <span class="keywordflow">return</span> vsubq_s16(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -25887,13 +24992,13 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vsubq_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>b</em> </td>
</tr>
<tr>
@@ -25922,64 +25027,8 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00449">449</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>Referenced by <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01183">vrecipq_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00450"></a><span class="lineno"> 450</span> {</div>
-<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="keywordflow">return</span> vsubq_s8(a, b);</div>
-<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> }</div>
-</div><!-- fragment -->
-</div>
-</div>
-<a class="anchor" id="a841e85dc31bee3fa3f1855eabf895325"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">float16x8_t vtanhq_f16 </td>
- <td>(</td>
- <td class="paramtype">float16x8_t </td>
- <td class="paramname"><em>val</em></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>Calculate hyperbolic tangent. </p>
-<p>tanh(x) = (e^2x - 1)/(e^2x + 1)</p>
-<dl class="section note"><dt>Note</dt><dd>We clamp x to [-5,5] to avoid overflowing issues.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>Input vector value in F32 format.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The calculated Hyperbolic Tangent. </dd></dl>
-
-<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00234">234</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
-
-<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">arm_compute::test::fixed_point_arithmetic::detail::tanh()</a>, <a class="el" href="_n_e_math_8inl_source.xhtml#l00261">vexpq_f16()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00226">vinvq_f16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00235"></a><span class="lineno"> 235</span> {</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keyword">const</span> float16x8_t CONST_1 = vdupq_n_f16(1.f);</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keyword">const</span> float16x8_t CONST_2 = vdupq_n_f16(2.f);</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keyword">const</span> float16x8_t CONST_MIN_TANH = vdupq_n_f16(-10.f);</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="keyword">const</span> float16x8_t CONST_MAX_TANH = vdupq_n_f16(10.f);</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keyword">const</span> float16x8_t x = vminq_f16(vmaxq_f16(val, CONST_MIN_TANH), CONST_MAX_TANH);</div>
-<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keyword">const</span> float16x8_t exp2x = <a class="code" href="namespacearm__compute.xhtml#a829992d2c673006879696821024df5b7">vexpq_f16</a>(vmulq_f16(CONST_2, x));</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keyword">const</span> float16x8_t num = vsubq_f16(exp2x, CONST_1);</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="keyword">const</span> float16x8_t den = vaddq_f16(exp2x, CONST_1);</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keyword">const</span> float16x8_t <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a> = vmulq_f16(num, <a class="code" href="namespacearm__compute.xhtml#a5ccd23ffe952767d73334cabcdbff246">vinvq_f16</a>(den));</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a>;</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a829992d2c673006879696821024df5b7"><div class="ttname"><a href="namespacearm__compute.xhtml#a829992d2c673006879696821024df5b7">arm_compute::vexpq_f16</a></div><div class="ttdeci">float16x8_t vexpq_f16(float16x8_t x)</div><div class="ttdoc">Calculate exponential. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00261">NEMath.inl:261</a></div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a5ccd23ffe952767d73334cabcdbff246"><div class="ttname"><a href="namespacearm__compute.xhtml#a5ccd23ffe952767d73334cabcdbff246">arm_compute::vinvq_f16</a></div><div class="ttdeci">float16x8_t vinvq_f16(float16x8_t x)</div><div class="ttdoc">Calculate reciprocal. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00226">NEMath.inl:226</a></div></div>
-<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_a6854479935f66029852441b051e1a3e0"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">arm_compute::test::fixed_point_arithmetic::detail::tanh</a></div><div class="ttdeci">fixed_point< T > tanh(fixed_point< T > x)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">FixedPoint.h:939</a></div></div>
+<div class="fragment"><div class="line"><a name="l00450"></a><span class="lineno"> 450</span> {</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="keywordflow">return</span> vsubq_s8(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, <a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">b</a>);</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span> }</div><div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_a7b8004eef325a40dd43eb80755610fff"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#a7b8004eef325a40dd43eb80755610fff">arm_compute::test::validation::b</a></div><div class="ttdeci">Tensor b</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00116">GEMM.cpp:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -26019,20 +25068,7 @@
<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00152">152</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
<p>References <a class="el" href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">arm_compute::test::fixed_point_arithmetic::detail::tanh()</a>, <a class="el" href="_n_e_math_8inl_source.xhtml#l00113">vexpq_f32()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00093">vinvq_f32()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> {</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_1 = vdupq_n_f32(1.f);</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_2 = vdupq_n_f32(2.f);</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_MIN_TANH = vdupq_n_f32(-10.f);</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_MAX_TANH = vdupq_n_f32(10.f);</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  float32x4_t x = vminq_f32(vmaxq_f32(val, CONST_MIN_TANH), CONST_MAX_TANH);</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  float32x4_t exp2x = <a class="code" href="namespacearm__compute.xhtml#ade3ef16de304661943c900ac9a47d28f">vexpq_f32</a>(vmulq_f32(CONST_2, x));</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  float32x4_t num = vsubq_f32(exp2x, CONST_1);</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  float32x4_t den = vaddq_f32(exp2x, CONST_1);</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  float32x4_t <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a> = vmulq_f32(num, <a class="code" href="namespacearm__compute.xhtml#ac8f459d5899b79c00fb4042a5b3470fb">vinvq_f32</a>(den));</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a>;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_ade3ef16de304661943c900ac9a47d28f"><div class="ttname"><a href="namespacearm__compute.xhtml#ade3ef16de304661943c900ac9a47d28f">arm_compute::vexpq_f32</a></div><div class="ttdeci">float32x4_t vexpq_f32(float32x4_t x)</div><div class="ttdoc">Calculate exponential. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00113">NEMath.inl:113</a></div></div>
+<div class="fragment"><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> {</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_1 = vdupq_n_f32(1.f);</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_2 = vdupq_n_f32(2.f);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_MIN_TANH = vdupq_n_f32(-10.f);</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keyword">static</span> <span class="keyword">const</span> float32x4_t CONST_MAX_TANH = vdupq_n_f32(10.f);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  float32x4_t x = vminq_f32(vmaxq_f32(val, CONST_MIN_TANH), CONST_MAX_TANH);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  float32x4_t exp2x = <a class="code" href="namespacearm__compute.xhtml#ade3ef16de304661943c900ac9a47d28f">vexpq_f32</a>(vmulq_f32(CONST_2, x));</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  float32x4_t num = vsubq_f32(exp2x, CONST_1);</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  float32x4_t den = vaddq_f32(exp2x, CONST_1);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  float32x4_t <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a> = vmulq_f32(num, <a class="code" href="namespacearm__compute.xhtml#ac8f459d5899b79c00fb4042a5b3470fb">vinvq_f32</a>(den));</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">return</span> <a class="code" href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">tanh</a>;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_ade3ef16de304661943c900ac9a47d28f"><div class="ttname"><a href="namespacearm__compute.xhtml#ade3ef16de304661943c900ac9a47d28f">arm_compute::vexpq_f32</a></div><div class="ttdeci">float32x4_t vexpq_f32(float32x4_t x)</div><div class="ttdoc">Calculate exponential. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00113">NEMath.inl:113</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ac8f459d5899b79c00fb4042a5b3470fb"><div class="ttname"><a href="namespacearm__compute.xhtml#ac8f459d5899b79c00fb4042a5b3470fb">arm_compute::vinvq_f32</a></div><div class="ttdeci">float32x4_t vinvq_f32(float32x4_t x)</div><div class="ttdoc">Calculate reciprocal. </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_math_8inl_source.xhtml#l00093">NEMath.inl:93</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail_xhtml_a6854479935f66029852441b051e1a3e0"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1fixed__point__arithmetic_1_1detail.xhtml#a6854479935f66029852441b051e1a3e0">arm_compute::test::fixed_point_arithmetic::detail::tanh</a></div><div class="ttdeci">fixed_point< T > tanh(fixed_point< T > x)</div><div class="ttdef"><b>Definition:</b> <a href="tests_2validation_2_fixed_point_8h_source.xhtml#l00939">FixedPoint.h:939</a></div></div>
</div><!-- fragment -->
@@ -26048,7 +25084,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> vtaylor_poly_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x4_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -26084,20 +25120,8 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01331">1331</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00496">vmul_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> {</div>
-<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vdup_n_s16(-(15 - fixed_point_position));</div>
-<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1);</div>
-<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vrshl_s16(islog ? log_tab_qs16[0] : exp_tab_qs16[0], islog ? vadd_s16(shift_value, const_one) : shift_value);</div>
-<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vrshl_s16(islog ? log_tab_qs16[1] : exp_tab_qs16[1], shift_value);</div>
-<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> C = vrshl_s16(islog ? log_tab_qs16[2] : exp_tab_qs16[2], shift_value);</div>
-<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> D = vrshl_s16(islog ? log_tab_qs16[3] : exp_tab_qs16[3], shift_value);</div>
-<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x1 = vadd_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(a, D, fixed_point_position), C);</div>
-<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x2 = vadd_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(a, x1, fixed_point_position), B);</div>
-<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x3 = vadd_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(a, x2, fixed_point_position), A);</div>
-<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> res = <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(a, x3, fixed_point_position);</div>
-<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>  <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<div class="fragment"><div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> {</div><div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> shift_value = vdup_n_s16(-(15 - fixed_point_position));</div><div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> const_one = vdup_n_s16(1);</div><div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vrshl_s16(islog ? log_tab_qs16[0] : exp_tab_qs16[0], islog ? vadd_s16(shift_value, const_one) : shift_value);</div><div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vrshl_s16(islog ? log_tab_qs16[1] : exp_tab_qs16[1], shift_value);</div><div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> C = vrshl_s16(islog ? log_tab_qs16[2] : exp_tab_qs16[2], shift_value);</div><div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> D = vrshl_s16(islog ? log_tab_qs16[3] : exp_tab_qs16[3], shift_value);</div><div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x1 = vadd_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, D, fixed_point_position), C);</div><div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x2 = vadd_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, x1, fixed_point_position), B);</div><div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> x3 = vadd_s16(<a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, x2, fixed_point_position), A);</div><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">qint16x4_t</a> res = <a class="code" href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">vmul_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, x3, fixed_point_position);</div><div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a></div><div class="ttdoc">Blue channel. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_ac1b67e3283a1cae4d57b7f64137f5f5c"><div class="ttname"><a href="namespacearm__compute.xhtml#ac1b67e3283a1cae4d57b7f64137f5f5c">arm_compute::vmul_qs16</a></div><div class="ttdeci">qint16x4_t vmul_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (4 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00496">NEFixedPoint.inl:496</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a82c56f0856f56d430393e6a00baee983"><div class="ttname"><a href="namespacearm__compute.xhtml#a82c56f0856f56d430393e6a00baee983">arm_compute::qint16x4_t</a></div><div class="ttdeci">int16x4_t qint16x4_t</div><div class="ttdoc">16 bit fixed point vector with 4 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00041">NEFixedPoint.h:41</a></div></div>
@@ -26114,7 +25138,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> vtaylor_poly_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -26150,78 +25174,14 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01315">1315</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00479">vmul_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> {</div>
-<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vdup_n_s8(-(7 - fixed_point_position));</div>
-<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1);</div>
-<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vrshl_s8(islog ? log_tab_qs8[0] : exp_tab_qs8[0], islog ? vadd_s8(shift_value, const_one) : shift_value);</div>
-<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vrshl_s8(islog ? log_tab_qs8[1] : exp_tab_qs8[1], shift_value);</div>
-<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> C = vrshl_s8(islog ? log_tab_qs8[2] : exp_tab_qs8[2], shift_value);</div>
-<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> D = vrshl_s8(islog ? log_tab_qs8[3] : exp_tab_qs8[3], shift_value);</div>
-<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x1 = vadd_s8(<a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(a, D, fixed_point_position), C);</div>
-<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x2 = vadd_s8(<a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(a, x1, fixed_point_position), B);</div>
-<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x3 = vadd_s8(<a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(a, x2, fixed_point_position), A);</div>
-<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> res = <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(a, x3, fixed_point_position);</div>
-<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>  <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<div class="fragment"><div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> {</div><div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> shift_value = vdup_n_s8(-(7 - fixed_point_position));</div><div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> const_one = vdup_n_s8(1);</div><div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vrshl_s8(islog ? log_tab_qs8[0] : exp_tab_qs8[0], islog ? vadd_s8(shift_value, const_one) : shift_value);</div><div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vrshl_s8(islog ? log_tab_qs8[1] : exp_tab_qs8[1], shift_value);</div><div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> C = vrshl_s8(islog ? log_tab_qs8[2] : exp_tab_qs8[2], shift_value);</div><div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> D = vrshl_s8(islog ? log_tab_qs8[3] : exp_tab_qs8[3], shift_value);</div><div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x1 = vadd_s8(<a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, D, fixed_point_position), C);</div><div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x2 = vadd_s8(<a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, x1, fixed_point_position), B);</div><div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> x3 = vadd_s8(<a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, x2, fixed_point_position), A);</div><div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">qint8x8_t</a> res = <a class="code" href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">vmul_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, x3, fixed_point_position);</div><div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a></div><div class="ttdoc">Blue channel. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_afccf1305c480f2338af8925bba6b54cd"><div class="ttname"><a href="namespacearm__compute.xhtml#afccf1305c480f2338af8925bba6b54cd">arm_compute::vmul_qs8</a></div><div class="ttdeci">qint8x8_t vmul_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00479">NEFixedPoint.inl:479</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a16a1bee14f1db073f75caa76dacf5078"><div class="ttname"><a href="namespacearm__compute.xhtml#a16a1bee14f1db073f75caa76dacf5078">arm_compute::qint8x8_t</a></div><div class="ttdeci">int8x8_t qint8x8_t</div><div class="ttdoc">8 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00033">NEFixedPoint.h:33</a></div></div>
</div><!-- fragment -->
</div>
</div>
-<a class="anchor" id="afaad64bc527ee67d3374b67610a34a13"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">float16x8_t arm_compute::vtaylor_polyq_f16 </td>
- <td>(</td>
- <td class="paramtype">float16x8_t </td>
- <td class="paramname"><em>x</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const std::array< float16x8_t, 8 > & </td>
- <td class="paramname"><em>coeffs</em> </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>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00249">249</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
-
-<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>.</p>
-
-<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00261">vexpq_f16()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00282">vlogq_f16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00250"></a><span class="lineno"> 250</span> {</div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <span class="keyword">const</span> float16x8_t <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vaddq_f16(coeffs[0], vmulq_f16(coeffs[4], x));</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <span class="keyword">const</span> float16x8_t <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vaddq_f16(coeffs[2], vmulq_f16(coeffs[6], x));</div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keyword">const</span> float16x8_t C = vaddq_f16(coeffs[1], vmulq_f16(coeffs[5], x));</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keyword">const</span> float16x8_t D = vaddq_f16(coeffs[3], vmulq_f16(coeffs[7], x));</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keyword">const</span> float16x8_t x2 = vmulq_f16(x, x);</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keyword">const</span> float16x8_t x4 = vmulq_f16(x2, x2);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keyword">const</span> float16x8_t res = vaddq_f16(vaddq_f16(A, vmulq_f16(B, x2)), vmulq_f16(vaddq_f16(C, vmulq_f16(D, x2)), x4));</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a></div><div class="ttdoc">Blue channel. </div></div>
-</div><!-- fragment -->
-</div>
-</div>
<a class="anchor" id="a4fa76a98dce5ed1b655ff840f2ce6e57"></a>
<div class="memitem">
<div class="memproto">
@@ -26269,17 +25229,7 @@
<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, and <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>.</p>
<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00113">vexpq_f32()</a>, and <a class="el" href="_n_e_math_8inl_source.xhtml#l00134">vlogq_f32()</a>.</p>
-<div class="fragment"><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> {</div>
-<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  float32x4_t <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vmlaq_f32(coeffs[0], coeffs[4], x);</div>
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  float32x4_t <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vmlaq_f32(coeffs[2], coeffs[6], x);</div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  float32x4_t C = vmlaq_f32(coeffs[1], coeffs[5], x);</div>
-<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  float32x4_t D = vmlaq_f32(coeffs[3], coeffs[7], x);</div>
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  float32x4_t x2 = vmulq_f32(x, x);</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  float32x4_t x4 = vmulq_f32(x2, x2);</div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  float32x4_t res = vmlaq_f32(vmlaq_f32(A, B, x2), vmlaq_f32(C, D, x2), x4);</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<div class="fragment"><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> {</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  float32x4_t <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vmlaq_f32(coeffs[0], coeffs[4], x);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  float32x4_t <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vmlaq_f32(coeffs[2], coeffs[6], x);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  float32x4_t C = vmlaq_f32(coeffs[1], coeffs[5], x);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  float32x4_t D = vmlaq_f32(coeffs[3], coeffs[7], x);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  float32x4_t x2 = vmulq_f32(x, x);</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  float32x4_t x4 = vmulq_f32(x2, x2);</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  float32x4_t res = vmlaq_f32(vmlaq_f32(A, B, x2), vmlaq_f32(C, D, x2), x4);</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a></div><div class="ttdoc">Blue channel. </div></div>
</div><!-- fragment -->
</div>
@@ -26294,7 +25244,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> vtaylor_polyq_qs16 </td>
<td>(</td>
- <td class="paramtype">qint16x8_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -26330,20 +25280,8 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01395">1395</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00533">vmulq_qs16()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> {</div>
-<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vdupq_n_s16(-(15 - fixed_point_position));</div>
-<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1);</div>
-<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vrshlq_s16(islog ? log_tabq_qs16[0] : exp_tabq_qs16[0], islog ? vaddq_s16(shift_value, const_one) : shift_value);</div>
-<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vrshlq_s16(islog ? log_tabq_qs16[1] : exp_tabq_qs16[1], shift_value);</div>
-<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> C = vrshlq_s16(islog ? log_tabq_qs16[2] : exp_tabq_qs16[2], shift_value);</div>
-<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> D = vrshlq_s16(islog ? log_tabq_qs16[3] : exp_tabq_qs16[3], shift_value);</div>
-<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x1 = vaddq_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(a, D, fixed_point_position), C);</div>
-<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x2 = vaddq_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(a, x1, fixed_point_position), B);</div>
-<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x3 = vaddq_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(a, x2, fixed_point_position), A);</div>
-<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res = <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(a, x3, fixed_point_position);</div>
-<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>  <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<div class="fragment"><div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> {</div><div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> shift_value = vdupq_n_s16(-(15 - fixed_point_position));</div><div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> const_one = vdupq_n_s16(1);</div><div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vrshlq_s16(islog ? log_tabq_qs16[0] : exp_tabq_qs16[0], islog ? vaddq_s16(shift_value, const_one) : shift_value);</div><div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vrshlq_s16(islog ? log_tabq_qs16[1] : exp_tabq_qs16[1], shift_value);</div><div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> C = vrshlq_s16(islog ? log_tabq_qs16[2] : exp_tabq_qs16[2], shift_value);</div><div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> D = vrshlq_s16(islog ? log_tabq_qs16[3] : exp_tabq_qs16[3], shift_value);</div><div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x1 = vaddq_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, D, fixed_point_position), C);</div><div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x2 = vaddq_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, x1, fixed_point_position), B);</div><div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> x3 = vaddq_s16(<a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, x2, fixed_point_position), A);</div><div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">qint16x8_t</a> res = <a class="code" href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">vmulq_qs16</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, x3, fixed_point_position);</div><div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a></div><div class="ttdoc">Blue channel. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a4e15143176bfacdde8b06f4bb0b67427"><div class="ttname"><a href="namespacearm__compute.xhtml#a4e15143176bfacdde8b06f4bb0b67427">arm_compute::qint16x8_t</a></div><div class="ttdeci">int16x8_t qint16x8_t</div><div class="ttdoc">16 bit fixed point vector with 8 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00045">NEFixedPoint.h:45</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a74ea79cda0ff6a819b2e5176fe0fc622"><div class="ttname"><a href="namespacearm__compute.xhtml#a74ea79cda0ff6a819b2e5176fe0fc622">arm_compute::vmulq_qs16</a></div><div class="ttdeci">qint16x8_t vmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position)</div><div class="ttdoc">16 bit fixed point vector multiply (8 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00533">NEFixedPoint.inl:533</a></div></div>
@@ -26360,7 +25298,7 @@
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> vtaylor_polyq_qs8 </td>
<td>(</td>
- <td class="paramtype">qint8x16_t </td>
+ <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> </td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
@@ -26396,20 +25334,8 @@
<p>Definition at line <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l01379">1379</a> of file <a class="el" href="_n_e_fixed_point_8inl_source.xhtml">NEFixedPoint.inl</a>.</p>
<p>References <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a>, <a class="el" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a>, and <a class="el" href="_n_e_fixed_point_8inl_source.xhtml#l00513">vmulq_qs8()</a>.</p>
-<div class="fragment"><div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> {</div>
-<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vdupq_n_s8(-(7 - fixed_point_position));</div>
-<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1);</div>
-<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vrshlq_s8(islog ? log_tabq_qs8[0] : exp_tabq_qs8[0], islog ? vaddq_s8(shift_value, const_one) : shift_value);</div>
-<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vrshlq_s8(islog ? log_tabq_qs8[1] : exp_tabq_qs8[1], shift_value);</div>
-<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> C = vrshlq_s8(islog ? log_tabq_qs8[2] : exp_tabq_qs8[2], shift_value);</div>
-<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> D = vrshlq_s8(islog ? log_tabq_qs8[3] : exp_tabq_qs8[3], shift_value);</div>
-<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x1 = vaddq_s8(<a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(a, D, fixed_point_position), C);</div>
-<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x2 = vaddq_s8(<a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(a, x1, fixed_point_position), B);</div>
-<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x3 = vaddq_s8(<a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(a, x2, fixed_point_position), A);</div>
-<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> res = <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(a, x3, fixed_point_position);</div>
-<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>  <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> }</div>
-<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<div class="fragment"><div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> {</div><div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> shift_value = vdupq_n_s8(-(7 - fixed_point_position));</div><div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> const_one = vdupq_n_s8(1);</div><div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">A</a> = vrshlq_s8(islog ? log_tabq_qs8[0] : exp_tabq_qs8[0], islog ? vaddq_s8(shift_value, const_one) : shift_value);</div><div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> <a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">B</a> = vrshlq_s8(islog ? log_tabq_qs8[1] : exp_tabq_qs8[1], shift_value);</div><div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> C = vrshlq_s8(islog ? log_tabq_qs8[2] : exp_tabq_qs8[2], shift_value);</div><div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> D = vrshlq_s8(islog ? log_tabq_qs8[3] : exp_tabq_qs8[3], shift_value);</div><div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x1 = vaddq_s8(<a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, D, fixed_point_position), C);</div><div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x2 = vaddq_s8(<a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, x1, fixed_point_position), B);</div><div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> x3 = vaddq_s8(<a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, x2, fixed_point_position), A);</div><div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>  <span class="keyword">const</span> <a class="code" href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">qint8x16_t</a> res = <a class="code" href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">vmulq_qs8</a>(<a class="code" href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">a</a>, x3, fixed_point_position);</div><div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> }</div><div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa7fc56270e7a70fa81a5935b72eacbe29">arm_compute::Channel::A</a></div><div class="ttdoc">Alpha channel. </div></div>
+<div class="ttc" id="namespacearm__compute_1_1test_1_1validation_xhtml_aac40b7097f2bda9274ae07fa33d15a79"><div class="ttname"><a href="namespacearm__compute_1_1test_1_1validation.xhtml#aac40b7097f2bda9274ae07fa33d15a79">arm_compute::test::validation::a</a></div><div class="ttdeci">Tensor a</div><div class="ttdef"><b>Definition:</b> <a href="validation_2_n_e_o_n_2_g_e_m_m_8cpp_source.xhtml#l00115">GEMM.cpp:115</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa9d5ed678fe57bcca610140957afab571">arm_compute::Channel::B</a></div><div class="ttdoc">Blue channel. </div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a5b99ed49abd6b7bf13dafdd17bcef855"><div class="ttname"><a href="namespacearm__compute.xhtml#a5b99ed49abd6b7bf13dafdd17bcef855">arm_compute::qint8x16_t</a></div><div class="ttdeci">int8x16_t qint8x16_t</div><div class="ttdoc">8 bit fixed point vector with 16 elements </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8h_source.xhtml#l00037">NEFixedPoint.h:37</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a031b17d4102856aa4d6bf7ebf83bf0ab"><div class="ttname"><a href="namespacearm__compute.xhtml#a031b17d4102856aa4d6bf7ebf83bf0ab">arm_compute::vmulq_qs8</a></div><div class="ttdeci">qint8x16_t vmulq_qs8(qint8x16_t a, qint8x16_t b, int fixed_point_position)</div><div class="ttdoc">8 bit fixed point vector multiply (16 elements) </div><div class="ttdef"><b>Definition:</b> <a href="_n_e_fixed_point_8inl_source.xhtml#l00513">NEFixedPoint.inl:513</a></div></div>
@@ -26429,7 +25355,7 @@
<p>Constant value of the border pixels when using <a class="el" href="namespacearm__compute.xhtml#a15a05537a472ee742404821851529327a8d6b5cada83510220f59e00ce86d4d92" title="Pixels outside the image are assumed to have a constant value. ">BorderMode::CONSTANT</a>. </p>
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00085">85</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00100">100</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
</div>
</div>
@@ -26442,53 +25368,9 @@
</tr>
</table>
</div><div class="memdoc">
-<b>Initial value:</b><div class="fragment"><div class="line">=</div>
-<div class="line">{</div>
-<div class="line"> {</div>
-<div class="line"> vdupq_n_f32(1.f),</div>
-<div class="line"> vdupq_n_f32(0.0416598916054f),</div>
-<div class="line"> vdupq_n_f32(0.500000596046f),</div>
-<div class="line"> vdupq_n_f32(0.0014122662833f),</div>
-<div class="line"> vdupq_n_f32(1.00000011921f),</div>
-<div class="line"> vdupq_n_f32(0.00833693705499f),</div>
-<div class="line"> vdupq_n_f32(0.166665703058f),</div>
-<div class="line"> vdupq_n_f32(0.000195780929062f),</div>
-<div class="line"> }</div>
-<div class="line">}</div>
-</div><!-- fragment -->
+<b>Initial value:</b><div class="fragment"><div class="line">=</div><div class="line">{</div><div class="line"> {</div><div class="line"> vdupq_n_f32(1.f),</div><div class="line"> vdupq_n_f32(0.0416598916054f),</div><div class="line"> vdupq_n_f32(0.500000596046f),</div><div class="line"> vdupq_n_f32(0.0014122662833f),</div><div class="line"> vdupq_n_f32(1.00000011921f),</div><div class="line"> vdupq_n_f32(0.00833693705499f),</div><div class="line"> vdupq_n_f32(0.166665703058f),</div><div class="line"> vdupq_n_f32(0.000195780929062f),</div><div class="line"> }</div><div class="line">}</div></div><!-- fragment -->
<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00028">28</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
-<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00113">vexpq_f32()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2260e62edc9c3e04a06e8016136b10b1"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const std::array<float16x8_t, 8> exp_tab_f16</td>
- </tr>
- </table>
-</div><div class="memdoc">
-<b>Initial value:</b><div class="fragment"><div class="line">=</div>
-<div class="line">{</div>
-<div class="line"> {</div>
-<div class="line"> vdupq_n_f16(1.f),</div>
-<div class="line"> vdupq_n_f16(0.0416598916054f),</div>
-<div class="line"> vdupq_n_f16(0.500000596046f),</div>
-<div class="line"> vdupq_n_f16(0.0014122662833f),</div>
-<div class="line"> vdupq_n_f16(1.00000011921f),</div>
-<div class="line"> vdupq_n_f16(0.00833693705499f),</div>
-<div class="line"> vdupq_n_f16(0.166665703058f),</div>
-<div class="line"> vdupq_n_f16(0.000195780929062f),</div>
-<div class="line"> }</div>
-<div class="line">}</div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00173">173</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
-
-<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00261">vexpq_f16()</a>.</p>
-
</div>
</div>
<a class="anchor" id="a48fb9cf404e8f7043235bf14105c9793"></a>
@@ -26500,53 +25382,9 @@
</tr>
</table>
</div><div class="memdoc">
-<b>Initial value:</b><div class="fragment"><div class="line">=</div>
-<div class="line">{</div>
-<div class="line"> {</div>
-<div class="line"> vdupq_n_f32(-2.29561495781f),</div>
-<div class="line"> vdupq_n_f32(-2.47071170807f),</div>
-<div class="line"> vdupq_n_f32(-5.68692588806f),</div>
-<div class="line"> vdupq_n_f32(-0.165253549814f),</div>
-<div class="line"> vdupq_n_f32(5.17591238022f),</div>
-<div class="line"> vdupq_n_f32(0.844007015228f),</div>
-<div class="line"> vdupq_n_f32(4.58445882797f),</div>
-<div class="line"> vdupq_n_f32(0.0141278216615f),</div>
-<div class="line"> }</div>
-<div class="line">}</div>
-</div><!-- fragment -->
+<b>Initial value:</b><div class="fragment"><div class="line">=</div><div class="line">{</div><div class="line"> {</div><div class="line"> vdupq_n_f32(-2.29561495781f),</div><div class="line"> vdupq_n_f32(-2.47071170807f),</div><div class="line"> vdupq_n_f32(-5.68692588806f),</div><div class="line"> vdupq_n_f32(-0.165253549814f),</div><div class="line"> vdupq_n_f32(5.17591238022f),</div><div class="line"> vdupq_n_f32(0.844007015228f),</div><div class="line"> vdupq_n_f32(4.58445882797f),</div><div class="line"> vdupq_n_f32(0.0141278216615f),</div><div class="line"> }</div><div class="line">}</div></div><!-- fragment -->
<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00043">43</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
-<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00134">vlogq_f32()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0a8b2a577b2f9370e7b1c4735f007be1"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const std::array<float16x8_t, 8> log_tab_f16</td>
- </tr>
- </table>
-</div><div class="memdoc">
-<b>Initial value:</b><div class="fragment"><div class="line">=</div>
-<div class="line">{</div>
-<div class="line"> {</div>
-<div class="line"> vdupq_n_f16(-2.29561495781f),</div>
-<div class="line"> vdupq_n_f16(-2.47071170807f),</div>
-<div class="line"> vdupq_n_f16(-5.68692588806f),</div>
-<div class="line"> vdupq_n_f16(-0.165253549814f),</div>
-<div class="line"> vdupq_n_f16(5.17591238022f),</div>
-<div class="line"> vdupq_n_f16(0.844007015228f),</div>
-<div class="line"> vdupq_n_f16(4.58445882797f),</div>
-<div class="line"> vdupq_n_f16(0.0141278216615f),</div>
-<div class="line"> }</div>
-<div class="line">}</div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="_n_e_math_8inl_source.xhtml#l00188">188</a> of file <a class="el" href="_n_e_math_8inl_source.xhtml">NEMath.inl</a>.</p>
-
-<p>Referenced by <a class="el" href="_n_e_math_8inl_source.xhtml#l00282">vlogq_f16()</a>.</p>
-
</div>
</div>
<a class="anchor" id="a769d636d7a3c7c84579a5f477a18bc9d"></a>
@@ -26573,7 +25411,9 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00088">88</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00103">103</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+
+<p>Referenced by <a class="el" href="_gaussian_pyramid_8cpp_source.xhtml#l00074">arm_compute::test::validation::DATA_TEST_CASE()</a>, <a class="el" href="_gaussian_pyramid_half_8cpp_source.xhtml#l00041">arm_compute::test::validation::reference::gaussian_pyramid_half()</a>, and <a class="el" href="_gaussian_pyramid_half_fixture_8h_source.xhtml#l00049">GaussianPyramidHalfValidationFixture< TensorType, AccessorType, FunctionType, T, PyramidType >::setup()</a>.</p>
</div>
</div>
@@ -26587,7 +25427,7 @@
</table>
</div><div class="memdoc">
-<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00091">91</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
+<p>Definition at line <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml#l00106">106</a> of file <a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">Types.h</a>.</p>
</div>
</div>
@@ -26597,9 +25437,9 @@
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacearm__compute.xhtml">arm_compute</a></li>
- <li class="footer">Generated on Thu Oct 12 2017 14:26:36 for Compute Library by
+ <li class="footer">Generated on Thu Dec 14 2017 23:48:35 for Compute Library by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
</ul>
</div>
</body>